/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

统计查询类接口
Openapi For JCLOUD cdn

OpenAPI spec version: v1
Contact: pid-cdn@jd.com

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>
#import <JDCloudOCSDKCdn/CdnApiModel.h>


@implementation CdnSetPublishNormalTimeoutResult
-(id) initWithIgnoreQueryString:(NSString*) ignoreQueryString
        pushIpWhiteList:(NSString*)pushIpWhiteList
        publishNormalTimeout:(NSNumber*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey { 
    self.ignoreQueryString = ignoreQueryString;               
    self.pushIpWhiteList = pushIpWhiteList;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self pushIpWhiteList])
    {
        [result setValue:[self pushIpWhiteList] forKey:@"pushIpWhiteList"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.pushIpWhiteList = [dictionary objectForKey:@"pushIpWhiteList"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    return self;
} 

@end
@implementation CdnSetForwardAuthenticationResult
-(id) initWithIgnoreQueryString:(NSString*) ignoreQueryString
        pushIpWhiteList:(NSString*)pushIpWhiteList
        publishNormalTimeout:(NSNumber*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey { 
    self.ignoreQueryString = ignoreQueryString;               
    self.pushIpWhiteList = pushIpWhiteList;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self pushIpWhiteList])
    {
        [result setValue:[self pushIpWhiteList] forKey:@"pushIpWhiteList"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.pushIpWhiteList = [dictionary objectForKey:@"pushIpWhiteList"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    return self;
} 

@end
@implementation CdnQueryPushDomainORAppOrStreamResult
-(id) initWithStreams:(NSArray<NSString*>*) streams { 
    self.streams = streams;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self streams])
    {
        [result setValue:[self streams] forKey:@"streams"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.streams = [dictionary objectForKey:@"streams"];
    return self;
} 

@end
@implementation CdnSetForwardAuthenticationRequest
-(id) initWithRegion:(NSString *)regionId
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetOriginAuthenticationRequest
-(id) initWithRegion:(NSString *)regionId
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetPushIpWhiteListRequest
-(id) initWithRegion:(NSString *)regionId
ipList:(NSArray<NSString*>*)ipList
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ipList = ipList;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ipList:(NSArray<NSString*>*)ipList
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ipList = ipList;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ipList])
    {
        [result setValue:[self ipList] forKey:@"ipList"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ipList = [dictionary objectForKey:@"ipList"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetLiveDomainAccessKeyRequest
-(id) initWithRegion:(NSString *)regionId
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
authLifeTime:(NSNumber*)authLifeTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.authLifeTime = authLifeTime;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
authLifeTime:(NSNumber*)authLifeTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.authLifeTime = authLifeTime;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self authLifeTime])
    {
        [result setValue:[self authLifeTime] forKey:@"authLifeTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.authLifeTime = [dictionary objectForKey:@"authLifeTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetStreamNotifyInfoRequest
-(id) initWithRegion:(NSString *)regionId
notifyUrl:(NSString*)notifyUrl
notifyAuthKey:(NSString*)notifyAuthKey
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.notifyUrl = notifyUrl;
    self.notifyAuthKey = notifyAuthKey;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
notifyUrl:(NSString*)notifyUrl
notifyAuthKey:(NSString*)notifyAuthKey
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.notifyUrl = notifyUrl;
    self.notifyAuthKey = notifyAuthKey;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self notifyUrl])
    {
        [result setValue:[self notifyUrl] forKey:@"notifyUrl"];
    }
    if([self notifyAuthKey])
    {
        [result setValue:[self notifyAuthKey] forKey:@"notifyAuthKey"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.notifyUrl = [dictionary objectForKey:@"notifyUrl"];
    self.notifyAuthKey = [dictionary objectForKey:@"notifyAuthKey"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetPublishNormalTimeoutRequest
-(id) initWithRegion:(NSString *)regionId
timeout:(NSNumber*)timeout
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.timeout = timeout;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
timeout:(NSNumber*)timeout
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.timeout = timeout;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self timeout])
    {
        [result setValue:[self timeout] forKey:@"timeout"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.timeout = [dictionary objectForKey:@"timeout"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetStreamNotifyInfoResult
-(id) initWithIgnoreQueryString:(NSString*) ignoreQueryString
        pushIpWhiteList:(NSString*)pushIpWhiteList
        publishNormalTimeout:(NSNumber*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey { 
    self.ignoreQueryString = ignoreQueryString;               
    self.pushIpWhiteList = pushIpWhiteList;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self pushIpWhiteList])
    {
        [result setValue:[self pushIpWhiteList] forKey:@"pushIpWhiteList"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.pushIpWhiteList = [dictionary objectForKey:@"pushIpWhiteList"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    return self;
} 

@end
@implementation CdnSetLiveDomainBackSourceHostRequest
-(id) initWithRegion:(NSString *)regionId
sourceHost:(NSString*)sourceHost
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.sourceHost = sourceHost;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sourceHost:(NSString*)sourceHost
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.sourceHost = sourceHost;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self sourceHost])
    {
        [result setValue:[self sourceHost] forKey:@"sourceHost"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceHost = [dictionary objectForKey:@"sourceHost"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetOriginAuthenticationResult
-(id) initWithIgnoreQueryString:(NSString*) ignoreQueryString
        pushIpWhiteList:(NSString*)pushIpWhiteList
        publishNormalTimeout:(NSNumber*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey { 
    self.ignoreQueryString = ignoreQueryString;               
    self.pushIpWhiteList = pushIpWhiteList;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self pushIpWhiteList])
    {
        [result setValue:[self pushIpWhiteList] forKey:@"pushIpWhiteList"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.pushIpWhiteList = [dictionary objectForKey:@"pushIpWhiteList"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    return self;
} 

@end
@implementation CdnSetLiveDomainIpBlackListRequest
-(id) initWithRegion:(NSString *)regionId
ips:(NSArray<NSString*>*)ips
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ips = ips;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ips:(NSArray<NSString*>*)ips
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ips = ips;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ips])
    {
        [result setValue:[self ips] forKey:@"ips"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ips = [dictionary objectForKey:@"ips"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetPushIpWhiteListResult
-(id) initWithIgnoreQueryString:(NSString*) ignoreQueryString
        pushIpWhiteList:(NSString*)pushIpWhiteList
        publishNormalTimeout:(NSNumber*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey { 
    self.ignoreQueryString = ignoreQueryString;               
    self.pushIpWhiteList = pushIpWhiteList;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self pushIpWhiteList])
    {
        [result setValue:[self pushIpWhiteList] forKey:@"pushIpWhiteList"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.pushIpWhiteList = [dictionary objectForKey:@"pushIpWhiteList"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    return self;
} 

@end
@implementation CdnOperateLiveDomainIgnoreQueryStringRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryPushDomainORAppOrStreamRequest
-(id) initWithRegion:(NSString *)regionId
app:(NSString*)app
stream:(NSString*)stream
limit:(NSNumber*)limit
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.app = app;
    self.stream = stream;
    self.limit = limit;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
app:(NSString*)app
stream:(NSString*)stream
limit:(NSNumber*)limit
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.app = app;
    self.stream = stream;
    self.limit = limit;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self app])
    {
        [result setValue:[self app] forKey:@"app"];
    }
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self limit])
    {
        [result setValue:[self limit] forKey:@"limit"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.app = [dictionary objectForKey:@"app"];
    self.stream = [dictionary objectForKey:@"stream"];
    self.limit = [dictionary objectForKey:@"limit"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnOperateLiveDomainIpBlackListRequest
-(id) initWithRegion:(NSString *)regionId
blackIpsEnable:(NSString*)blackIpsEnable
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.blackIpsEnable = blackIpsEnable;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
blackIpsEnable:(NSString*)blackIpsEnable
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.blackIpsEnable = blackIpsEnable;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self blackIpsEnable])
    {
        [result setValue:[self blackIpsEnable] forKey:@"blackIpsEnable"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.blackIpsEnable = [dictionary objectForKey:@"blackIpsEnable"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetLiveDomainReferRequest
-(id) initWithRegion:(NSString *)regionId
referType:(NSString*)referType
referList:(NSArray<NSString*>*)referList
allowNoReferHeader:(NSString*)allowNoReferHeader
allowNullReferHeader:(NSString*)allowNullReferHeader
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.referType = referType;
    self.referList = referList;
    self.allowNoReferHeader = allowNoReferHeader;
    self.allowNullReferHeader = allowNullReferHeader;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
referType:(NSString*)referType
referList:(NSArray<NSString*>*)referList
allowNoReferHeader:(NSString*)allowNoReferHeader
allowNullReferHeader:(NSString*)allowNullReferHeader
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.referType = referType;
    self.referList = referList;
    self.allowNoReferHeader = allowNoReferHeader;
    self.allowNullReferHeader = allowNullReferHeader;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self referType])
    {
        [result setValue:[self referType] forKey:@"referType"];
    }
    if([self referList])
    {
        [result setValue:[self referList] forKey:@"referList"];
    }
    if([self allowNoReferHeader])
    {
        [result setValue:[self allowNoReferHeader] forKey:@"allowNoReferHeader"];
    }
    if([self allowNullReferHeader])
    {
        [result setValue:[self allowNullReferHeader] forKey:@"allowNullReferHeader"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.referType = [dictionary objectForKey:@"referType"];
    self.referList = [dictionary objectForKey:@"referList"];
    self.allowNoReferHeader = [dictionary objectForKey:@"allowNoReferHeader"];
    self.allowNullReferHeader = [dictionary objectForKey:@"allowNullReferHeader"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDescribebindedDomainsRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnBindPublishDomainRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain
publishDomain:(NSString*)publishDomain { 
    self.regionId = regionId;
    self.domain = domain;
    self.publishDomain = publishDomain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain
publishDomain:(NSString*)publishDomain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    self.publishDomain = publishDomain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self publishDomain])
    {
        [result setValue:[self publishDomain] forKey:@"publishDomain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.publishDomain = [dictionary objectForKey:@"publishDomain"];
    return self;
} 

@end
@implementation CdnQueryLiveDomainDetailV2Request
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryLiveDomainAppsResult
-(id) initWithApps:(NSArray<NSString*>*) apps
        domain:(NSString*)domain { 
    self.apps = apps;               
    self.domain = domain;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apps])
    {
        [result setValue:[self apps] forKey:@"apps"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apps = [dictionary objectForKey:@"apps"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryLiveDomainAppsRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnModifyLiveDomainForwardCustomVhostRequest
-(id) initWithRegion:(NSString *)regionId
forwardCustomVhost:(NSString*)forwardCustomVhost
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.forwardCustomVhost = forwardCustomVhost;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
forwardCustomVhost:(NSString*)forwardCustomVhost
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.forwardCustomVhost = forwardCustomVhost;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self forwardCustomVhost])
    {
        [result setValue:[self forwardCustomVhost] forKey:@"forwardCustomVhost"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.forwardCustomVhost = [dictionary objectForKey:@"forwardCustomVhost"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryLiveDomainDetailRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDescribePublishDomainsResult
-(id) initWithPublishDomainList:(NSArray<NSString*>*) publishDomainList { 
    self.publishDomainList = publishDomainList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self publishDomainList])
    {
        [result setValue:[self publishDomainList] forKey:@"publishDomainList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.publishDomainList = [dictionary objectForKey:@"publishDomainList"];
    return self;
} 

@end
@implementation CdnStopDomainRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnGetDomainListRequest
-(id) initWithRegion:(NSString *)regionId
keyWord:(NSString*)keyWord
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
type:(NSString*)type
accelerateRegion:(NSString*)accelerateRegion { 
    self.regionId = regionId;
    self.keyWord = keyWord;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.status = status;
    self.type = type;
    self.accelerateRegion = accelerateRegion;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyWord:(NSString*)keyWord
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
type:(NSString*)type
accelerateRegion:(NSString*)accelerateRegion { 
    self.regionId = regionId;
    self.version = version;
    self.keyWord = keyWord;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.status = status;
    self.type = type;
    self.accelerateRegion = accelerateRegion;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keyWord])
    {
        [result setValue:[self keyWord] forKey:@"keyWord"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyWord = [dictionary objectForKey:@"keyWord"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.status = [dictionary objectForKey:@"status"];
    self.type = [dictionary objectForKey:@"type"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
} 

@end
@implementation CdnQueryOssBucketsResult
-(id) initWithTotal:(NSNumber*) total
        ossBuckets:(NSArray<NSObject*>*)ossBuckets { 
    self.total = total;               
    self.ossBuckets = ossBuckets;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    if([self ossBuckets])
    {
        [result setValue:[self ossBuckets] forKey:@"ossBuckets"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.total = [dictionary objectForKey:@"total"];
    self.ossBuckets = [dictionary objectForKey:@"ossBuckets"];
    return self;
} 

@end
@implementation CdnGetDomainDetailRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDeleteDomainRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnStartDomainRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryDomainConfigRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnGetSslCertDetailResult
-(id) initWithSslCertId:(NSString*) sslCertId
        certName:(NSString*)certName
        commonName:(NSString*)commonName
        certType:(NSString*)certType
        sslCertStartTime:(NSString*)sslCertStartTime
        sslCertEndTime:(NSString*)sslCertEndTime
        deletable:(NSNumber*)deletable
        digest:(NSString*)digest
        relatedDomains:(NSArray<NSString*>*)relatedDomains { 
    self.sslCertId = sslCertId;               
    self.certName = certName;               
    self.commonName = commonName;               
    self.certType = certType;               
    self.sslCertStartTime = sslCertStartTime;               
    self.sslCertEndTime = sslCertEndTime;               
    self.deletable = deletable;               
    self.digest = digest;               
    self.relatedDomains = relatedDomains;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self commonName])
    {
        [result setValue:[self commonName] forKey:@"commonName"];
    }
    if([self certType])
    {
        [result setValue:[self certType] forKey:@"certType"];
    }
    if([self sslCertStartTime])
    {
        [result setValue:[self sslCertStartTime] forKey:@"sslCertStartTime"];
    }
    if([self sslCertEndTime])
    {
        [result setValue:[self sslCertEndTime] forKey:@"sslCertEndTime"];
    }
    if([self deletable])
    {
        [result setValue:[self deletable] forKey:@"deletable"];
    }
    if([self digest])
    {
        [result setValue:[self digest] forKey:@"digest"];
    }
    if([self relatedDomains])
    {
        [result setValue:[self relatedDomains] forKey:@"relatedDomains"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.certName = [dictionary objectForKey:@"certName"];
    self.commonName = [dictionary objectForKey:@"commonName"];
    self.certType = [dictionary objectForKey:@"certType"];
    self.sslCertStartTime = [dictionary objectForKey:@"sslCertStartTime"];
    self.sslCertEndTime = [dictionary objectForKey:@"sslCertEndTime"];
    self.deletable = [dictionary objectForKey:@"deletable"];
    self.digest = [dictionary objectForKey:@"digest"];
    self.relatedDomains = [dictionary objectForKey:@"relatedDomains"];
    return self;
} 

@end
@implementation CdnGetSslCertDetailRequest
-(id) initWithRegion:(NSString *)regionId
sslCertId:(NSString*)sslCertId { 
    self.regionId = regionId;
    self.sslCertId = sslCertId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sslCertId:(NSString*)sslCertId { 
    self.regionId = regionId;
    self.version = version;
    self.sslCertId = sslCertId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    return self;
} 

@end
@implementation CdnGetSslCertListRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnUploadCertRequest
-(id) initWithRegion:(NSString *)regionId
certName:(NSString*)certName
keyFile:(NSString*)keyFile
certFile:(NSString*)certFile
aliasName:(NSString*)aliasName { 
    self.regionId = regionId;
    self.certName = certName;
    self.keyFile = keyFile;
    self.certFile = certFile;
    self.aliasName = aliasName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
certName:(NSString*)certName
keyFile:(NSString*)keyFile
certFile:(NSString*)certFile
aliasName:(NSString*)aliasName { 
    self.regionId = regionId;
    self.version = version;
    self.certName = certName;
    self.keyFile = keyFile;
    self.certFile = certFile;
    self.aliasName = aliasName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self keyFile])
    {
        [result setValue:[self keyFile] forKey:@"keyFile"];
    }
    if([self certFile])
    {
        [result setValue:[self certFile] forKey:@"certFile"];
    }
    if([self aliasName])
    {
        [result setValue:[self aliasName] forKey:@"aliasName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.certName = [dictionary objectForKey:@"certName"];
    self.keyFile = [dictionary objectForKey:@"keyFile"];
    self.certFile = [dictionary objectForKey:@"certFile"];
    self.aliasName = [dictionary objectForKey:@"aliasName"];
    return self;
} 

@end
@implementation CdnUploadCertResult
-(id) initWithCertId:(NSString*) certId
        digest:(NSString*)digest { 
    self.certId = certId;               
    self.digest = digest;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self certId])
    {
        [result setValue:[self certId] forKey:@"certId"];
    }
    if([self digest])
    {
        [result setValue:[self digest] forKey:@"digest"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.certId = [dictionary objectForKey:@"certId"];
    self.digest = [dictionary objectForKey:@"digest"];
    return self;
} 

@end
@implementation CdnQueryRefreshTaskByIdsRequest
-(id) initWithRegion:(NSString *)regionId
taskIds:(NSArray<NSString*>*)taskIds
keyword:(NSString*)keyword { 
    self.regionId = regionId;
    self.taskIds = taskIds;
    self.keyword = keyword;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskIds:(NSArray<NSString*>*)taskIds
keyword:(NSString*)keyword { 
    self.regionId = regionId;
    self.version = version;
    self.taskIds = taskIds;
    self.keyword = keyword;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskIds])
    {
        [result setValue:[self taskIds] forKey:@"taskIds"];
    }
    if([self keyword])
    {
        [result setValue:[self keyword] forKey:@"keyword"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskIds = [dictionary objectForKey:@"taskIds"];
    self.keyword = [dictionary objectForKey:@"keyword"];
    return self;
} 

@end
@implementation CdnCreateRefreshTaskForCallbackV2Result
-(id) initWithErrorCount:(NSNumber*) errorCount
        taskId:(NSString*)taskId { 
    self.errorCount = errorCount;               
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self errorCount])
    {
        [result setValue:[self errorCount] forKey:@"errorCount"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.errorCount = [dictionary objectForKey:@"errorCount"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnQueryRefreshTaskByIdRequest
-(id) initWithRegion:(NSString *)regionId
taskId:(NSString*)taskId { 
    self.regionId = regionId;
    self.taskId = taskId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskId:(NSString*)taskId { 
    self.regionId = regionId;
    self.version = version;
    self.taskId = taskId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnCreateRefreshTaskRequest
-(id) initWithRegion:(NSString *)regionId
taskType:(NSString*)taskType
urls:(NSArray<NSString*>*)urls { 
    self.regionId = regionId;
    self.taskType = taskType;
    self.urls = urls;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskType:(NSString*)taskType
urls:(NSArray<NSString*>*)urls { 
    self.regionId = regionId;
    self.version = version;
    self.taskType = taskType;
    self.urls = urls;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskType])
    {
        [result setValue:[self taskType] forKey:@"taskType"];
    }
    if([self urls])
    {
        [result setValue:[self urls] forKey:@"urls"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskType = [dictionary objectForKey:@"taskType"];
    self.urls = [dictionary objectForKey:@"urls"];
    return self;
} 

@end
@implementation CdnQueryRefreshTaskRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
keyword:(NSString*)keyword
taskId:(NSString*)taskId
taskStatus:(NSString*)taskStatus
taskType:(NSString*)taskType
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.keyword = keyword;
    self.taskId = taskId;
    self.taskStatus = taskStatus;
    self.taskType = taskType;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
keyword:(NSString*)keyword
taskId:(NSString*)taskId
taskStatus:(NSString*)taskStatus
taskType:(NSString*)taskType
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.keyword = keyword;
    self.taskId = taskId;
    self.taskStatus = taskStatus;
    self.taskType = taskType;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self keyword])
    {
        [result setValue:[self keyword] forKey:@"keyword"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    if([self taskStatus])
    {
        [result setValue:[self taskStatus] forKey:@"taskStatus"];
    }
    if([self taskType])
    {
        [result setValue:[self taskType] forKey:@"taskType"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.keyword = [dictionary objectForKey:@"keyword"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    self.taskStatus = [dictionary objectForKey:@"taskStatus"];
    self.taskType = [dictionary objectForKey:@"taskType"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
} 

@end
@implementation CdnCreateRefreshTaskResult
-(id) initWithErrorCount:(NSNumber*) errorCount
        taskId:(NSString*)taskId { 
    self.errorCount = errorCount;               
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self errorCount])
    {
        [result setValue:[self errorCount] forKey:@"errorCount"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.errorCount = [dictionary objectForKey:@"errorCount"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnCreateRefreshTaskForCallbackResult
-(id) initWithErrorCount:(NSNumber*) errorCount
        taskId:(NSString*)taskId { 
    self.errorCount = errorCount;               
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self errorCount])
    {
        [result setValue:[self errorCount] forKey:@"errorCount"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.errorCount = [dictionary objectForKey:@"errorCount"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnCreateDomainGroupRequest
-(id) initWithRegion:(NSString *)regionId
shareCache:(NSString*)shareCache
primaryDomain:(NSString*)primaryDomain
domainGroupName:(NSString*)domainGroupName
domains:(NSArray<NSString*>*)domains { 
    self.regionId = regionId;
    self.shareCache = shareCache;
    self.primaryDomain = primaryDomain;
    self.domainGroupName = domainGroupName;
    self.domains = domains;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
shareCache:(NSString*)shareCache
primaryDomain:(NSString*)primaryDomain
domainGroupName:(NSString*)domainGroupName
domains:(NSArray<NSString*>*)domains { 
    self.regionId = regionId;
    self.version = version;
    self.shareCache = shareCache;
    self.primaryDomain = primaryDomain;
    self.domainGroupName = domainGroupName;
    self.domains = domains;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self shareCache])
    {
        [result setValue:[self shareCache] forKey:@"shareCache"];
    }
    if([self primaryDomain])
    {
        [result setValue:[self primaryDomain] forKey:@"primaryDomain"];
    }
    if([self domainGroupName])
    {
        [result setValue:[self domainGroupName] forKey:@"domainGroupName"];
    }
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.shareCache = [dictionary objectForKey:@"shareCache"];
    self.primaryDomain = [dictionary objectForKey:@"primaryDomain"];
    self.domainGroupName = [dictionary objectForKey:@"domainGroupName"];
    self.domains = [dictionary objectForKey:@"domains"];
    return self;
} 

@end
@implementation CdnQueryDomainGroupListRequest
-(id) initWithRegion:(NSString *)regionId
shareCache:(NSString*)shareCache
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
primaryDomain:(NSString*)primaryDomain
domainGroupName:(NSString*)domainGroupName { 
    self.regionId = regionId;
    self.shareCache = shareCache;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.primaryDomain = primaryDomain;
    self.domainGroupName = domainGroupName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
shareCache:(NSString*)shareCache
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
primaryDomain:(NSString*)primaryDomain
domainGroupName:(NSString*)domainGroupName { 
    self.regionId = regionId;
    self.version = version;
    self.shareCache = shareCache;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.primaryDomain = primaryDomain;
    self.domainGroupName = domainGroupName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self shareCache])
    {
        [result setValue:[self shareCache] forKey:@"shareCache"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self primaryDomain])
    {
        [result setValue:[self primaryDomain] forKey:@"primaryDomain"];
    }
    if([self domainGroupName])
    {
        [result setValue:[self domainGroupName] forKey:@"domainGroupName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.shareCache = [dictionary objectForKey:@"shareCache"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.primaryDomain = [dictionary objectForKey:@"primaryDomain"];
    self.domainGroupName = [dictionary objectForKey:@"domainGroupName"];
    return self;
} 

@end
@implementation CdnQueryDomainGroupDetailRequest
-(id) initWithRegion:(NSString *)regionId
idValue:(NSNumber*)idValue { 
    self.regionId = regionId;
    self.idValue = idValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
idValue:(NSNumber*)idValue { 
    self.regionId = regionId;
    self.version = version;
    self.idValue = idValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
} 

@end
@implementation CdnQueryDomainGroupDetailResult
-(id) initWithDomains:(NSArray<NSString*>*) domains
        primaryDomain:(NSString*)primaryDomain
        shareCache:(NSString*)shareCache
        domainGroupName:(NSString*)domainGroupName { 
    self.domains = domains;               
    self.primaryDomain = primaryDomain;               
    self.shareCache = shareCache;               
    self.domainGroupName = domainGroupName;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    if([self primaryDomain])
    {
        [result setValue:[self primaryDomain] forKey:@"primaryDomain"];
    }
    if([self shareCache])
    {
        [result setValue:[self shareCache] forKey:@"shareCache"];
    }
    if([self domainGroupName])
    {
        [result setValue:[self domainGroupName] forKey:@"domainGroupName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domains = [dictionary objectForKey:@"domains"];
    self.primaryDomain = [dictionary objectForKey:@"primaryDomain"];
    self.shareCache = [dictionary objectForKey:@"shareCache"];
    self.domainGroupName = [dictionary objectForKey:@"domainGroupName"];
    return self;
} 

@end
@implementation CdnUpdateDomainGroupRequest
-(id) initWithRegion:(NSString *)regionId
domains:(NSArray<NSString*>*)domains
primaryDomain:(NSString*)primaryDomain
shareCache:(NSString*)shareCache
domainGroupName:(NSString*)domainGroupName
idValue:(NSNumber*)idValue { 
    self.regionId = regionId;
    self.domains = domains;
    self.primaryDomain = primaryDomain;
    self.shareCache = shareCache;
    self.domainGroupName = domainGroupName;
    self.idValue = idValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domains:(NSArray<NSString*>*)domains
primaryDomain:(NSString*)primaryDomain
shareCache:(NSString*)shareCache
domainGroupName:(NSString*)domainGroupName
idValue:(NSNumber*)idValue { 
    self.regionId = regionId;
    self.version = version;
    self.domains = domains;
    self.primaryDomain = primaryDomain;
    self.shareCache = shareCache;
    self.domainGroupName = domainGroupName;
    self.idValue = idValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    if([self primaryDomain])
    {
        [result setValue:[self primaryDomain] forKey:@"primaryDomain"];
    }
    if([self shareCache])
    {
        [result setValue:[self shareCache] forKey:@"shareCache"];
    }
    if([self domainGroupName])
    {
        [result setValue:[self domainGroupName] forKey:@"domainGroupName"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domains = [dictionary objectForKey:@"domains"];
    self.primaryDomain = [dictionary objectForKey:@"primaryDomain"];
    self.shareCache = [dictionary objectForKey:@"shareCache"];
    self.domainGroupName = [dictionary objectForKey:@"domainGroupName"];
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
} 

@end
@implementation CdnBatchDeleteDomainGroupRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSNumber*>*)ids { 
    self.regionId = regionId;
    self.ids = ids;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSNumber*>*)ids { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    return self;
} 

@end
@implementation CdnQueryDomainsNotInGroupResult
-(id) initWithDomains:(NSArray<NSString*>*) domains { 
    self.domains = domains;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domains = [dictionary objectForKey:@"domains"];
    return self;
} 

@end
@implementation CdnSetReferRequest
-(id) initWithRegion:(NSString *)regionId
referType:(NSString*)referType
referList:(NSArray<NSString*>*)referList
allowNoReferHeader:(NSString*)allowNoReferHeader
allowNullReferHeader:(NSString*)allowNullReferHeader
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.referType = referType;
    self.referList = referList;
    self.allowNoReferHeader = allowNoReferHeader;
    self.allowNullReferHeader = allowNullReferHeader;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
referType:(NSString*)referType
referList:(NSArray<NSString*>*)referList
allowNoReferHeader:(NSString*)allowNoReferHeader
allowNullReferHeader:(NSString*)allowNullReferHeader
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.referType = referType;
    self.referList = referList;
    self.allowNoReferHeader = allowNoReferHeader;
    self.allowNullReferHeader = allowNullReferHeader;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self referType])
    {
        [result setValue:[self referType] forKey:@"referType"];
    }
    if([self referList])
    {
        [result setValue:[self referList] forKey:@"referList"];
    }
    if([self allowNoReferHeader])
    {
        [result setValue:[self allowNoReferHeader] forKey:@"allowNoReferHeader"];
    }
    if([self allowNullReferHeader])
    {
        [result setValue:[self allowNullReferHeader] forKey:@"allowNullReferHeader"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.referType = [dictionary objectForKey:@"referType"];
    self.referList = [dictionary objectForKey:@"referList"];
    self.allowNoReferHeader = [dictionary objectForKey:@"allowNoReferHeader"];
    self.allowNullReferHeader = [dictionary objectForKey:@"allowNullReferHeader"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnCreateCacheRuleResult
-(id) initWithConfigId:(NSNumber*) configId { 
    self.configId = configId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self configId])
    {
        [result setValue:[self configId] forKey:@"configId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.configId = [dictionary objectForKey:@"configId"];
    return self;
} 

@end
@implementation CdnQueryAccesskeyConfigRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryDefaultHttpHeaderKeyResult
-(id) initWithReqDefaultHttpHeaderKey:(NSArray<NSString*>*) reqDefaultHttpHeaderKey
        respDefaultHttpHeaderKey:(NSArray<NSString*>*)respDefaultHttpHeaderKey { 
    self.reqDefaultHttpHeaderKey = reqDefaultHttpHeaderKey;               
    self.respDefaultHttpHeaderKey = respDefaultHttpHeaderKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self reqDefaultHttpHeaderKey])
    {
        [result setValue:[self reqDefaultHttpHeaderKey] forKey:@"reqDefaultHttpHeaderKey"];
    }
    if([self respDefaultHttpHeaderKey])
    {
        [result setValue:[self respDefaultHttpHeaderKey] forKey:@"respDefaultHttpHeaderKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.reqDefaultHttpHeaderKey = [dictionary objectForKey:@"reqDefaultHttpHeaderKey"];
    self.respDefaultHttpHeaderKey = [dictionary objectForKey:@"respDefaultHttpHeaderKey"];
    return self;
} 

@end
@implementation CdnSetFollowSourceProtocolResult
-(id) initWithTaskId:(NSString*) taskId { 
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnQueryHttpHeaderRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetIpBlackListRequest
-(id) initWithRegion:(NSString *)regionId
ips:(NSArray<NSString*>*)ips
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ips = ips;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ips:(NSArray<NSString*>*)ips
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ips = ips;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ips])
    {
        [result setValue:[self ips] forKey:@"ips"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ips = [dictionary objectForKey:@"ips"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetDomainConfigRequest
-(id) initWithRegion:(NSString *)regionId
httpType:(NSString*)httpType
backSourceType:(NSString*)backSourceType
jumpType:(NSString*)jumpType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.httpType = httpType;
    self.backSourceType = backSourceType;
    self.jumpType = jumpType;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
httpType:(NSString*)httpType
backSourceType:(NSString*)backSourceType
jumpType:(NSString*)jumpType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.httpType = httpType;
    self.backSourceType = backSourceType;
    self.jumpType = jumpType;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self httpType])
    {
        [result setValue:[self httpType] forKey:@"httpType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self jumpType])
    {
        [result setValue:[self jumpType] forKey:@"jumpType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.httpType = [dictionary objectForKey:@"httpType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.jumpType = [dictionary objectForKey:@"jumpType"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryIpBlackListRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDeleteCacheRuleRequest
-(id) initWithRegion:(NSString *)regionId
configId:(NSNumber*)configId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.configId = configId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
configId:(NSNumber*)configId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.configId = configId;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self configId])
    {
        [result setValue:[self configId] forKey:@"configId"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.configId = [dictionary objectForKey:@"configId"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDeleteHttpHeaderRequest
-(id) initWithRegion:(NSString *)regionId
headerType:(NSString*)headerType
headerName:(NSString*)headerName
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.headerType = headerType;
    self.headerName = headerName;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
headerType:(NSString*)headerType
headerName:(NSString*)headerName
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.headerType = headerType;
    self.headerName = headerName;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self headerType])
    {
        [result setValue:[self headerType] forKey:@"headerType"];
    }
    if([self headerName])
    {
        [result setValue:[self headerName] forKey:@"headerName"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.headerType = [dictionary objectForKey:@"headerType"];
    self.headerName = [dictionary objectForKey:@"headerName"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnStopMonitorRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetDomainConfigResult
-(id) initWithTaskId:(NSString*) taskId { 
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnQueryFollowRedirectResult
-(id) initWithDomain:(NSString*) domain
        followRedirect:(NSString*)followRedirect { 
    self.domain = domain;               
    self.followRedirect = followRedirect;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self followRedirect])
    {
        [result setValue:[self followRedirect] forKey:@"followRedirect"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.followRedirect = [dictionary objectForKey:@"followRedirect"];
    return self;
} 

@end
@implementation CdnSetHttpHeaderRequest
-(id) initWithRegion:(NSString *)regionId
headerType:(NSString*)headerType
headerName:(NSString*)headerName
headerValue:(NSString*)headerValue
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.headerType = headerType;
    self.headerName = headerName;
    self.headerValue = headerValue;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
headerType:(NSString*)headerType
headerName:(NSString*)headerName
headerValue:(NSString*)headerValue
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.headerType = headerType;
    self.headerName = headerName;
    self.headerValue = headerValue;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self headerType])
    {
        [result setValue:[self headerType] forKey:@"headerType"];
    }
    if([self headerName])
    {
        [result setValue:[self headerName] forKey:@"headerName"];
    }
    if([self headerValue])
    {
        [result setValue:[self headerValue] forKey:@"headerValue"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.headerType = [dictionary objectForKey:@"headerType"];
    self.headerName = [dictionary objectForKey:@"headerName"];
    self.headerValue = [dictionary objectForKey:@"headerValue"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnOperateShareCacheRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetVideoDraftRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetMonitorRequest
-(id) initWithRegion:(NSString *)regionId
cycle:(NSNumber*)cycle
monitorPath:(NSString*)monitorPath
httpRequestHeader:(NSMutableDictionary<NSString*,NSString*>*)httpRequestHeader
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.cycle = cycle;
    self.monitorPath = monitorPath;
    self.httpRequestHeader = httpRequestHeader;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cycle:(NSNumber*)cycle
monitorPath:(NSString*)monitorPath
httpRequestHeader:(NSMutableDictionary<NSString*,NSString*>*)httpRequestHeader
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.cycle = cycle;
    self.monitorPath = monitorPath;
    self.httpRequestHeader = httpRequestHeader;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self cycle])
    {
        [result setValue:[self cycle] forKey:@"cycle"];
    }
    if([self monitorPath])
    {
        [result setValue:[self monitorPath] forKey:@"monitorPath"];
    }
    if([self httpRequestHeader])
    {
        [result setValue:[self httpRequestHeader] forKey:@"httpRequestHeader"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cycle = [dictionary objectForKey:@"cycle"];
    self.monitorPath = [dictionary objectForKey:@"monitorPath"];
    self.httpRequestHeader = [dictionary objectForKey:@"httpRequestHeader"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetIgnoreQueryStringRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetSourceResult
-(id) initWithTaskId:(NSString*) taskId { 
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnQueryFollowSourceProtocolResult
-(id) initWithDomain:(NSString*) domain
        followProtocolStatus:(NSString*)followProtocolStatus { 
    self.domain = domain;               
    self.followProtocolStatus = followProtocolStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self followProtocolStatus])
    {
        [result setValue:[self followProtocolStatus] forKey:@"followProtocolStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.followProtocolStatus = [dictionary objectForKey:@"followProtocolStatus"];
    return self;
} 

@end
@implementation CdnUpdateCacheRuleRequest
-(id) initWithRegion:(NSString *)regionId
weight:(NSNumber*)weight
ttl:(NSNumber*)ttl
contents:(NSString*)contents
cacheType:(NSNumber*)cacheType
configId:(NSNumber*)configId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.weight = weight;
    self.ttl = ttl;
    self.contents = contents;
    self.cacheType = cacheType;
    self.configId = configId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
weight:(NSNumber*)weight
ttl:(NSNumber*)ttl
contents:(NSString*)contents
cacheType:(NSNumber*)cacheType
configId:(NSNumber*)configId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.weight = weight;
    self.ttl = ttl;
    self.contents = contents;
    self.cacheType = cacheType;
    self.configId = configId;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self weight])
    {
        [result setValue:[self weight] forKey:@"weight"];
    }
    if([self ttl])
    {
        [result setValue:[self ttl] forKey:@"ttl"];
    }
    if([self contents])
    {
        [result setValue:[self contents] forKey:@"contents"];
    }
    if([self cacheType])
    {
        [result setValue:[self cacheType] forKey:@"cacheType"];
    }
    if([self configId])
    {
        [result setValue:[self configId] forKey:@"configId"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.weight = [dictionary objectForKey:@"weight"];
    self.ttl = [dictionary objectForKey:@"ttl"];
    self.contents = [dictionary objectForKey:@"contents"];
    self.cacheType = [dictionary objectForKey:@"cacheType"];
    self.configId = [dictionary objectForKey:@"configId"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnPreviewCertificateResult
-(id) initWithSigAlgName:(NSString*) sigAlgName
        issuer:(NSString*)issuer
        startDate:(NSString*)startDate
        endDate:(NSString*)endDate
        user:(NSString*)user
        sigHashAlgName:(NSString*)sigHashAlgName { 
    self.sigAlgName = sigAlgName;               
    self.issuer = issuer;               
    self.startDate = startDate;               
    self.endDate = endDate;               
    self.user = user;               
    self.sigHashAlgName = sigHashAlgName;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self sigAlgName])
    {
        [result setValue:[self sigAlgName] forKey:@"sigAlgName"];
    }
    if([self issuer])
    {
        [result setValue:[self issuer] forKey:@"issuer"];
    }
    if([self startDate])
    {
        [result setValue:[self startDate] forKey:@"startDate"];
    }
    if([self endDate])
    {
        [result setValue:[self endDate] forKey:@"endDate"];
    }
    if([self user])
    {
        [result setValue:[self user] forKey:@"user"];
    }
    if([self sigHashAlgName])
    {
        [result setValue:[self sigHashAlgName] forKey:@"sigHashAlgName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sigAlgName = [dictionary objectForKey:@"sigAlgName"];
    self.issuer = [dictionary objectForKey:@"issuer"];
    self.startDate = [dictionary objectForKey:@"startDate"];
    self.endDate = [dictionary objectForKey:@"endDate"];
    self.user = [dictionary objectForKey:@"user"];
    self.sigHashAlgName = [dictionary objectForKey:@"sigHashAlgName"];
    return self;
} 

@end
@implementation CdnCreateCacheRuleRequest
-(id) initWithRegion:(NSString *)regionId
weight:(NSNumber*)weight
ttl:(NSNumber*)ttl
contents:(NSString*)contents
cacheType:(NSNumber*)cacheType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.weight = weight;
    self.ttl = ttl;
    self.contents = contents;
    self.cacheType = cacheType;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
weight:(NSNumber*)weight
ttl:(NSNumber*)ttl
contents:(NSString*)contents
cacheType:(NSNumber*)cacheType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.weight = weight;
    self.ttl = ttl;
    self.contents = contents;
    self.cacheType = cacheType;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self weight])
    {
        [result setValue:[self weight] forKey:@"weight"];
    }
    if([self ttl])
    {
        [result setValue:[self ttl] forKey:@"ttl"];
    }
    if([self contents])
    {
        [result setValue:[self contents] forKey:@"contents"];
    }
    if([self cacheType])
    {
        [result setValue:[self cacheType] forKey:@"cacheType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.weight = [dictionary objectForKey:@"weight"];
    self.ttl = [dictionary objectForKey:@"ttl"];
    self.contents = [dictionary objectForKey:@"contents"];
    self.cacheType = [dictionary objectForKey:@"cacheType"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryFollowSourceProtocolRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetHttpTypeRequest
-(id) initWithRegion:(NSString *)regionId
httpType:(NSString*)httpType
certificate:(NSString*)certificate
rsaKey:(NSString*)rsaKey
jumpType:(NSString*)jumpType
certFrom:(NSString*)certFrom
sslCertId:(NSString*)sslCertId
syncToSsl:(NSNumber*)syncToSsl
certName:(NSString*)certName
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.httpType = httpType;
    self.certificate = certificate;
    self.rsaKey = rsaKey;
    self.jumpType = jumpType;
    self.certFrom = certFrom;
    self.sslCertId = sslCertId;
    self.syncToSsl = syncToSsl;
    self.certName = certName;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
httpType:(NSString*)httpType
certificate:(NSString*)certificate
rsaKey:(NSString*)rsaKey
jumpType:(NSString*)jumpType
certFrom:(NSString*)certFrom
sslCertId:(NSString*)sslCertId
syncToSsl:(NSNumber*)syncToSsl
certName:(NSString*)certName
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.httpType = httpType;
    self.certificate = certificate;
    self.rsaKey = rsaKey;
    self.jumpType = jumpType;
    self.certFrom = certFrom;
    self.sslCertId = sslCertId;
    self.syncToSsl = syncToSsl;
    self.certName = certName;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self httpType])
    {
        [result setValue:[self httpType] forKey:@"httpType"];
    }
    if([self certificate])
    {
        [result setValue:[self certificate] forKey:@"certificate"];
    }
    if([self rsaKey])
    {
        [result setValue:[self rsaKey] forKey:@"rsaKey"];
    }
    if([self jumpType])
    {
        [result setValue:[self jumpType] forKey:@"jumpType"];
    }
    if([self certFrom])
    {
        [result setValue:[self certFrom] forKey:@"certFrom"];
    }
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self syncToSsl])
    {
        [result setValue:[self syncToSsl] forKey:@"syncToSsl"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.httpType = [dictionary objectForKey:@"httpType"];
    self.certificate = [dictionary objectForKey:@"certificate"];
    self.rsaKey = [dictionary objectForKey:@"rsaKey"];
    self.jumpType = [dictionary objectForKey:@"jumpType"];
    self.certFrom = [dictionary objectForKey:@"certFrom"];
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.syncToSsl = [dictionary objectForKey:@"syncToSsl"];
    self.certName = [dictionary objectForKey:@"certName"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryMonitorRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryFollowRedirectRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetAccesskeyConfigRequest
-(id) initWithRegion:(NSString *)regionId
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
accesskeyKeep:(NSNumber*)accesskeyKeep
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.accesskeyKeep = accesskeyKeep;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
accesskeyType:(NSNumber*)accesskeyType
accesskeyKey:(NSString*)accesskeyKey
accesskeyKeep:(NSNumber*)accesskeyKeep
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.accesskeyType = accesskeyType;
    self.accesskeyKey = accesskeyKey;
    self.accesskeyKeep = accesskeyKeep;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self accesskeyKeep])
    {
        [result setValue:[self accesskeyKeep] forKey:@"accesskeyKeep"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.accesskeyKeep = [dictionary objectForKey:@"accesskeyKeep"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetRangeRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetMonitorResult
-(id) initWithMonitorId:(NSNumber*) monitorId { 
    self.monitorId = monitorId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self monitorId])
    {
        [result setValue:[self monitorId] forKey:@"monitorId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.monitorId = [dictionary objectForKey:@"monitorId"];
    return self;
} 

@end
@implementation CdnQueryAccesskeyConfigResult
-(id) initWithAccesskeyType:(NSNumber*) accesskeyType
        accesskeyKey:(NSString*)accesskeyKey
        accesskeyKeep:(NSNumber*)accesskeyKeep { 
    self.accesskeyType = accesskeyType;               
    self.accesskeyKey = accesskeyKey;               
    self.accesskeyKeep = accesskeyKeep;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self accesskeyKeep])
    {
        [result setValue:[self accesskeyKeep] forKey:@"accesskeyKeep"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.accesskeyKeep = [dictionary objectForKey:@"accesskeyKeep"];
    return self;
} 

@end
@implementation CdnSetUserAgentConfigRequest
-(id) initWithRegion:(NSString *)regionId
userAgentType:(NSString*)userAgentType
userAgentList:(NSArray<NSString*>*)userAgentList
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.userAgentType = userAgentType;
    self.userAgentList = userAgentList;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
userAgentType:(NSString*)userAgentType
userAgentList:(NSArray<NSString*>*)userAgentList
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.userAgentType = userAgentType;
    self.userAgentList = userAgentList;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self userAgentType])
    {
        [result setValue:[self userAgentType] forKey:@"userAgentType"];
    }
    if([self userAgentList])
    {
        [result setValue:[self userAgentList] forKey:@"userAgentList"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.userAgentType = [dictionary objectForKey:@"userAgentType"];
    self.userAgentList = [dictionary objectForKey:@"userAgentList"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnPreviewCertificateRequest
-(id) initWithRegion:(NSString *)regionId
content:(NSString*)content
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.content = content;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
content:(NSString*)content
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.content = content;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self content])
    {
        [result setValue:[self content] forKey:@"content"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.content = [dictionary objectForKey:@"content"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryUserAgentRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetFollowSourceProtocolRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnOperateIpBlackListRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryIpBlackListResult
-(id) initWithDomain:(NSString*) domain
        ips:(NSArray<NSObject*>*)ips
        status:(NSString*)status { 
    self.domain = domain;               
    self.ips = ips;               
    self.status = status;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self ips])
    {
        [result setValue:[self ips] forKey:@"ips"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.ips = [dictionary objectForKey:@"ips"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
} 

@end
@implementation CdnSetFollowRedirectRequest
-(id) initWithRegion:(NSString *)regionId
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.status = status;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
status:(NSString*)status
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.status = status;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.status = [dictionary objectForKey:@"status"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetHttpTypeResult
-(id) initWithTaskId:(NSString*) taskId { 
    self.taskId = taskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnQueryUserAgentResult
-(id) initWithDomain:(NSString*) domain
        userAgentType:(NSString*)userAgentType
        userAgentList:(NSArray<NSString*>*)userAgentList
        allowNoUserAgentHeader:(NSString*)allowNoUserAgentHeader { 
    self.domain = domain;               
    self.userAgentType = userAgentType;               
    self.userAgentList = userAgentList;               
    self.allowNoUserAgentHeader = allowNoUserAgentHeader;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self userAgentType])
    {
        [result setValue:[self userAgentType] forKey:@"userAgentType"];
    }
    if([self userAgentList])
    {
        [result setValue:[self userAgentList] forKey:@"userAgentList"];
    }
    if([self allowNoUserAgentHeader])
    {
        [result setValue:[self allowNoUserAgentHeader] forKey:@"allowNoUserAgentHeader"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.userAgentType = [dictionary objectForKey:@"userAgentType"];
    self.userAgentList = [dictionary objectForKey:@"userAgentList"];
    self.allowNoUserAgentHeader = [dictionary objectForKey:@"allowNoUserAgentHeader"];
    return self;
} 

@end
@implementation CdnQueryMonitorResult
-(id) initWithDomain:(NSString*) domain
        cycle:(NSNumber*)cycle
        monitorPath:(NSString*)monitorPath
        httpRequestHeader:(NSMutableDictionary<NSString*,NSString*>*)httpRequestHeader { 
    self.domain = domain;               
    self.cycle = cycle;               
    self.monitorPath = monitorPath;               
    self.httpRequestHeader = httpRequestHeader;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self cycle])
    {
        [result setValue:[self cycle] forKey:@"cycle"];
    }
    if([self monitorPath])
    {
        [result setValue:[self monitorPath] forKey:@"monitorPath"];
    }
    if([self httpRequestHeader])
    {
        [result setValue:[self httpRequestHeader] forKey:@"httpRequestHeader"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.cycle = [dictionary objectForKey:@"cycle"];
    self.monitorPath = [dictionary objectForKey:@"monitorPath"];
    self.httpRequestHeader = [dictionary objectForKey:@"httpRequestHeader"];
    return self;
} 

@end
@implementation CdnSetNetProtectionRulesSwitchRequest
-(id) initWithRegion:(NSString *)regionId
switchStatus:(NSString*)switchStatus { 
    self.regionId = regionId;
    self.switchStatus = switchStatus;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
switchStatus:(NSString*)switchStatus { 
    self.regionId = regionId;
    self.version = version;
    self.switchStatus = switchStatus;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnSetNetProtectionRulesRequest
-(id) initWithRegion:(NSString *)regionId
srcNewConnLimitEnable:(NSString*)srcNewConnLimitEnable
dstNewConnLimitEnable:(NSString*)dstNewConnLimitEnable
datagramRangeMin:(NSNumber*)datagramRangeMin
datagramRangeMax:(NSNumber*)datagramRangeMax
dstNewConnLimitValue:(NSNumber*)dstNewConnLimitValue
srcNewConnLimitValue:(NSNumber*)srcNewConnLimitValue
geoBlack:(NSArray<NSString*>*)geoBlack
ipBlack:(NSArray<NSString*>*)ipBlack
ipWhite:(NSArray<NSString*>*)ipWhite { 
    self.regionId = regionId;
    self.srcNewConnLimitEnable = srcNewConnLimitEnable;
    self.dstNewConnLimitEnable = dstNewConnLimitEnable;
    self.datagramRangeMin = datagramRangeMin;
    self.datagramRangeMax = datagramRangeMax;
    self.dstNewConnLimitValue = dstNewConnLimitValue;
    self.srcNewConnLimitValue = srcNewConnLimitValue;
    self.geoBlack = geoBlack;
    self.ipBlack = ipBlack;
    self.ipWhite = ipWhite;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
srcNewConnLimitEnable:(NSString*)srcNewConnLimitEnable
dstNewConnLimitEnable:(NSString*)dstNewConnLimitEnable
datagramRangeMin:(NSNumber*)datagramRangeMin
datagramRangeMax:(NSNumber*)datagramRangeMax
dstNewConnLimitValue:(NSNumber*)dstNewConnLimitValue
srcNewConnLimitValue:(NSNumber*)srcNewConnLimitValue
geoBlack:(NSArray<NSString*>*)geoBlack
ipBlack:(NSArray<NSString*>*)ipBlack
ipWhite:(NSArray<NSString*>*)ipWhite { 
    self.regionId = regionId;
    self.version = version;
    self.srcNewConnLimitEnable = srcNewConnLimitEnable;
    self.dstNewConnLimitEnable = dstNewConnLimitEnable;
    self.datagramRangeMin = datagramRangeMin;
    self.datagramRangeMax = datagramRangeMax;
    self.dstNewConnLimitValue = dstNewConnLimitValue;
    self.srcNewConnLimitValue = srcNewConnLimitValue;
    self.geoBlack = geoBlack;
    self.ipBlack = ipBlack;
    self.ipWhite = ipWhite;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self srcNewConnLimitEnable])
    {
        [result setValue:[self srcNewConnLimitEnable] forKey:@"srcNewConnLimitEnable"];
    }
    if([self dstNewConnLimitEnable])
    {
        [result setValue:[self dstNewConnLimitEnable] forKey:@"dstNewConnLimitEnable"];
    }
    if([self datagramRangeMin])
    {
        [result setValue:[self datagramRangeMin] forKey:@"datagramRangeMin"];
    }
    if([self datagramRangeMax])
    {
        [result setValue:[self datagramRangeMax] forKey:@"datagramRangeMax"];
    }
    if([self dstNewConnLimitValue])
    {
        [result setValue:[self dstNewConnLimitValue] forKey:@"dstNewConnLimitValue"];
    }
    if([self srcNewConnLimitValue])
    {
        [result setValue:[self srcNewConnLimitValue] forKey:@"srcNewConnLimitValue"];
    }
    if([self geoBlack])
    {
        [result setValue:[self geoBlack] forKey:@"geoBlack"];
    }
    if([self ipBlack])
    {
        [result setValue:[self ipBlack] forKey:@"ipBlack"];
    }
    if([self ipWhite])
    {
        [result setValue:[self ipWhite] forKey:@"ipWhite"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.srcNewConnLimitEnable = [dictionary objectForKey:@"srcNewConnLimitEnable"];
    self.dstNewConnLimitEnable = [dictionary objectForKey:@"dstNewConnLimitEnable"];
    self.datagramRangeMin = [dictionary objectForKey:@"datagramRangeMin"];
    self.datagramRangeMax = [dictionary objectForKey:@"datagramRangeMax"];
    self.dstNewConnLimitValue = [dictionary objectForKey:@"dstNewConnLimitValue"];
    self.srcNewConnLimitValue = [dictionary objectForKey:@"srcNewConnLimitValue"];
    self.geoBlack = [dictionary objectForKey:@"geoBlack"];
    self.ipBlack = [dictionary objectForKey:@"ipBlack"];
    self.ipWhite = [dictionary objectForKey:@"ipWhite"];
    return self;
} 

@end
@implementation CdnQueryNetProtectionRulesSwitchResult
-(id) initWithSwitchStatus:(NSString*) switchStatus { 
    self.switchStatus = switchStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnQueryAttackTypeCountRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
} 

@end
@implementation CdnSearchAttackLogRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
sortField:(NSString*)sortField
sortRule:(NSString*)sortRule { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.sortField = sortField;
    self.sortRule = sortRule;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
sortField:(NSString*)sortField
sortRule:(NSString*)sortRule { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.sortField = sortField;
    self.sortRule = sortRule;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self sortField])
    {
        [result setValue:[self sortField] forKey:@"sortField"];
    }
    if([self sortRule])
    {
        [result setValue:[self sortRule] forKey:@"sortRule"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.sortField = [dictionary objectForKey:@"sortField"];
    self.sortRule = [dictionary objectForKey:@"sortRule"];
    return self;
} 

@end
@implementation CdnQueryDdosGraphRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
} 

@end
@implementation CdnSetOnlineBillingTypeRequest
-(id) initWithRegion:(NSString *)regionId
allType:(NSNumber*)allType { 
    self.regionId = regionId;
    self.allType = allType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
allType:(NSNumber*)allType { 
    self.regionId = regionId;
    self.version = version;
    self.allType = allType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self allType])
    {
        [result setValue:[self allType] forKey:@"allType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.allType = [dictionary objectForKey:@"allType"];
    return self;
} 

@end
@implementation CdnQueryOnlineBillingTypeResult
-(id) initWithAllType:(NSNumber*) allType
        vip:(NSNumber*)vip { 
    self.allType = allType;               
    self.vip = vip;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self allType])
    {
        [result setValue:[self allType] forKey:@"allType"];
    }
    if([self vip])
    {
        [result setValue:[self vip] forKey:@"vip"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.allType = [dictionary objectForKey:@"allType"];
    self.vip = [dictionary objectForKey:@"vip"];
    return self;
} 

@end
@implementation CdnQueryMixStatisticsDataRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period
scheme:(NSString*)scheme { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.period = period;
    self.scheme = scheme;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period
scheme:(NSString*)scheme { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.period = period;
    self.scheme = scheme;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self scheme])
    {
        [result setValue:[self scheme] forKey:@"scheme"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.period = [dictionary objectForKey:@"period"];
    self.scheme = [dictionary objectForKey:@"scheme"];
    return self;
} 

@end
@implementation CdnQueryStatisticsDataRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
origin:(NSString*)origin
period:(NSString*)period { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.origin = origin;
    self.period = period;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
origin:(NSString*)origin
period:(NSString*)period { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.origin = origin;
    self.period = period;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self origin])
    {
        [result setValue:[self origin] forKey:@"origin"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.origin = [dictionary objectForKey:@"origin"];
    self.period = [dictionary objectForKey:@"period"];
    return self;
} 

@end
@implementation CdnQueryLiveStatisticsAreaDataGroupByRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
appName:(NSString*)appName
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
streamName:(NSString*)streamName
period:(NSString*)period
groupBy:(NSString*)groupBy
subDomain:(NSString*)subDomain
scheme:(NSString*)scheme
reqMethod:(NSString*)reqMethod { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.appName = appName;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.streamName = streamName;
    self.period = period;
    self.groupBy = groupBy;
    self.subDomain = subDomain;
    self.scheme = scheme;
    self.reqMethod = reqMethod;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
appName:(NSString*)appName
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
streamName:(NSString*)streamName
period:(NSString*)period
groupBy:(NSString*)groupBy
subDomain:(NSString*)subDomain
scheme:(NSString*)scheme
reqMethod:(NSString*)reqMethod { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.appName = appName;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.streamName = streamName;
    self.period = period;
    self.groupBy = groupBy;
    self.subDomain = subDomain;
    self.scheme = scheme;
    self.reqMethod = reqMethod;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self streamName])
    {
        [result setValue:[self streamName] forKey:@"streamName"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self groupBy])
    {
        [result setValue:[self groupBy] forKey:@"groupBy"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self scheme])
    {
        [result setValue:[self scheme] forKey:@"scheme"];
    }
    if([self reqMethod])
    {
        [result setValue:[self reqMethod] forKey:@"reqMethod"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.appName = [dictionary objectForKey:@"appName"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.streamName = [dictionary objectForKey:@"streamName"];
    self.period = [dictionary objectForKey:@"period"];
    self.groupBy = [dictionary objectForKey:@"groupBy"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.scheme = [dictionary objectForKey:@"scheme"];
    self.reqMethod = [dictionary objectForKey:@"reqMethod"];
    return self;
} 

@end
@implementation CdnQueryStatisticsDataGroupSumRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
origin:(NSString*)origin
period:(NSString*)period
groupBy:(NSString*)groupBy { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.origin = origin;
    self.period = period;
    self.groupBy = groupBy;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
origin:(NSString*)origin
period:(NSString*)period
groupBy:(NSString*)groupBy { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.origin = origin;
    self.period = period;
    self.groupBy = groupBy;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self origin])
    {
        [result setValue:[self origin] forKey:@"origin"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self groupBy])
    {
        [result setValue:[self groupBy] forKey:@"groupBy"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.origin = [dictionary objectForKey:@"origin"];
    self.period = [dictionary objectForKey:@"period"];
    self.groupBy = [dictionary objectForKey:@"groupBy"];
    return self;
} 

@end
@implementation CdnQueryMixStatisticsWithAreaDataRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.period = period;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.period = period;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.period = [dictionary objectForKey:@"period"];
    return self;
} 

@end
@implementation CdnQueryStatisticsDataGroupByAreaRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
origin:(NSString*)origin
period:(NSString*)period
groupBy:(NSString*)groupBy
scheme:(NSString*)scheme { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.origin = origin;
    self.period = period;
    self.groupBy = groupBy;
    self.scheme = scheme;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
origin:(NSString*)origin
period:(NSString*)period
groupBy:(NSString*)groupBy
scheme:(NSString*)scheme { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.origin = origin;
    self.period = period;
    self.groupBy = groupBy;
    self.scheme = scheme;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self origin])
    {
        [result setValue:[self origin] forKey:@"origin"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self groupBy])
    {
        [result setValue:[self groupBy] forKey:@"groupBy"];
    }
    if([self scheme])
    {
        [result setValue:[self scheme] forKey:@"scheme"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.origin = [dictionary objectForKey:@"origin"];
    self.period = [dictionary objectForKey:@"period"];
    self.groupBy = [dictionary objectForKey:@"groupBy"];
    self.scheme = [dictionary objectForKey:@"scheme"];
    return self;
} 

@end
@implementation CdnQueryLiveStatisticsDataRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
appName:(NSString*)appName
streamName:(NSString*)streamName
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
reqMethod:(NSString*)reqMethod
scheme:(NSString*)scheme
period:(NSString*)period { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.appName = appName;
    self.streamName = streamName;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.reqMethod = reqMethod;
    self.scheme = scheme;
    self.period = period;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
appName:(NSString*)appName
streamName:(NSString*)streamName
subDomain:(NSString*)subDomain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
reqMethod:(NSString*)reqMethod
scheme:(NSString*)scheme
period:(NSString*)period { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.appName = appName;
    self.streamName = streamName;
    self.subDomain = subDomain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.reqMethod = reqMethod;
    self.scheme = scheme;
    self.period = period;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self streamName])
    {
        [result setValue:[self streamName] forKey:@"streamName"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self reqMethod])
    {
        [result setValue:[self reqMethod] forKey:@"reqMethod"];
    }
    if([self scheme])
    {
        [result setValue:[self scheme] forKey:@"scheme"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.appName = [dictionary objectForKey:@"appName"];
    self.streamName = [dictionary objectForKey:@"streamName"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.reqMethod = [dictionary objectForKey:@"reqMethod"];
    self.scheme = [dictionary objectForKey:@"scheme"];
    self.period = [dictionary objectForKey:@"period"];
    return self;
} 

@end
@implementation CdnQueryStatisticsTopIpRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
size:(NSNumber*)size
topBy:(NSString*)topBy { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.size = size;
    self.topBy = topBy;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
size:(NSNumber*)size
topBy:(NSString*)topBy { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.size = size;
    self.topBy = topBy;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self topBy])
    {
        [result setValue:[self topBy] forKey:@"topBy"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.size = [dictionary objectForKey:@"size"];
    self.topBy = [dictionary objectForKey:@"topBy"];
    return self;
} 

@end
@implementation CdnQueryDomainLogRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
interval:(NSString*)interval
logType:(NSString*)logType
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.interval = interval;
    self.logType = logType;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
interval:(NSString*)interval
logType:(NSString*)logType
pageSize:(NSNumber*)pageSize
pageNumber:(NSNumber*)pageNumber
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.interval = interval;
    self.logType = logType;
    self.pageSize = pageSize;
    self.pageNumber = pageNumber;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self interval])
    {
        [result setValue:[self interval] forKey:@"interval"];
    }
    if([self logType])
    {
        [result setValue:[self logType] forKey:@"logType"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.interval = [dictionary objectForKey:@"interval"];
    self.logType = [dictionary objectForKey:@"logType"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryStatisticsTopUrlRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
size:(NSNumber*)size
topBy:(NSString*)topBy { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.size = size;
    self.topBy = topBy;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
size:(NSNumber*)size
topBy:(NSString*)topBy { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.size = size;
    self.topBy = topBy;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self topBy])
    {
        [result setValue:[self topBy] forKey:@"topBy"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.size = [dictionary objectForKey:@"size"];
    self.topBy = [dictionary objectForKey:@"topBy"];
    return self;
} 

@end
@implementation CdnQueryDomainsLogRequest
-(id) initWithRegion:(NSString *)regionId
domains:(NSArray<NSString*>*)domains
startTime:(NSString*)startTime
endTime:(NSString*)endTime
interval:(NSString*)interval
logType:(NSString*)logType { 
    self.regionId = regionId;
    self.domains = domains;
    self.startTime = startTime;
    self.endTime = endTime;
    self.interval = interval;
    self.logType = logType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domains:(NSArray<NSString*>*)domains
startTime:(NSString*)startTime
endTime:(NSString*)endTime
interval:(NSString*)interval
logType:(NSString*)logType { 
    self.regionId = regionId;
    self.version = version;
    self.domains = domains;
    self.startTime = startTime;
    self.endTime = endTime;
    self.interval = interval;
    self.logType = logType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self interval])
    {
        [result setValue:[self interval] forKey:@"interval"];
    }
    if([self logType])
    {
        [result setValue:[self logType] forKey:@"logType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domains = [dictionary objectForKey:@"domains"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.interval = [dictionary objectForKey:@"interval"];
    self.logType = [dictionary objectForKey:@"logType"];
    return self;
} 

@end
@implementation CdnQueryLiveTrafficGroupSumRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
appName:(NSString*)appName
streamName:(NSString*)streamName
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
scheme:(NSString*)scheme
period:(NSString*)period
groupBy:(NSString*)groupBy
reqMethod:(NSString*)reqMethod { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.appName = appName;
    self.streamName = streamName;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.scheme = scheme;
    self.period = period;
    self.groupBy = groupBy;
    self.reqMethod = reqMethod;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
subDomain:(NSString*)subDomain
appName:(NSString*)appName
streamName:(NSString*)streamName
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
scheme:(NSString*)scheme
period:(NSString*)period
groupBy:(NSString*)groupBy
reqMethod:(NSString*)reqMethod { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.subDomain = subDomain;
    self.appName = appName;
    self.streamName = streamName;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.scheme = scheme;
    self.period = period;
    self.groupBy = groupBy;
    self.reqMethod = reqMethod;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self subDomain])
    {
        [result setValue:[self subDomain] forKey:@"subDomain"];
    }
    if([self appName])
    {
        [result setValue:[self appName] forKey:@"appName"];
    }
    if([self streamName])
    {
        [result setValue:[self streamName] forKey:@"streamName"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self scheme])
    {
        [result setValue:[self scheme] forKey:@"scheme"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self groupBy])
    {
        [result setValue:[self groupBy] forKey:@"groupBy"];
    }
    if([self reqMethod])
    {
        [result setValue:[self reqMethod] forKey:@"reqMethod"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.subDomain = [dictionary objectForKey:@"subDomain"];
    self.appName = [dictionary objectForKey:@"appName"];
    self.streamName = [dictionary objectForKey:@"streamName"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.scheme = [dictionary objectForKey:@"scheme"];
    self.period = [dictionary objectForKey:@"period"];
    self.groupBy = [dictionary objectForKey:@"groupBy"];
    self.reqMethod = [dictionary objectForKey:@"reqMethod"];
    return self;
} 

@end
@implementation CdnQueryMixTrafficGroupSumRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period
groupBy:(NSString*)groupBy { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.period = period;
    self.groupBy = groupBy;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
fields:(NSString*)fields
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period
groupBy:(NSString*)groupBy { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.fields = fields;
    self.area = area;
    self.isp = isp;
    self.period = period;
    self.groupBy = groupBy;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self fields])
    {
        [result setValue:[self fields] forKey:@"fields"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self groupBy])
    {
        [result setValue:[self groupBy] forKey:@"groupBy"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.fields = [dictionary objectForKey:@"fields"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.period = [dictionary objectForKey:@"period"];
    self.groupBy = [dictionary objectForKey:@"groupBy"];
    return self;
} 

@end
@implementation CdnQueryIpBlackSettingStatusResult
-(id) initWithSettingStatus:(NSNumber*) settingStatus { 
    self.settingStatus = settingStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self settingStatus])
    {
        [result setValue:[self settingStatus] forKey:@"settingStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.settingStatus = [dictionary objectForKey:@"settingStatus"];
    return self;
} 

@end
@implementation CdnQueryWafBlackRuleSwitchRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDisableCCProtectRuleRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ids = ids;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWebProtectSwitchRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnCreateWafBlackRuleRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
atOp:(NSNumber*)atOp
atVal:(NSString*)atVal
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.atOp = atOp;
    self.atVal = atVal;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
atOp:(NSNumber*)atOp
atVal:(NSString*)atVal
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.atOp = atOp;
    self.atVal = atVal;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self matchOp])
    {
        [result setValue:[self matchOp] forKey:@"matchOp"];
    }
    if([self val])
    {
        [result setValue:[self val] forKey:@"val"];
    }
    if([self atOp])
    {
        [result setValue:[self atOp] forKey:@"atOp"];
    }
    if([self atVal])
    {
        [result setValue:[self atVal] forKey:@"atVal"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.matchOp = [dictionary objectForKey:@"matchOp"];
    self.val = [dictionary objectForKey:@"val"];
    self.atOp = [dictionary objectForKey:@"atOp"];
    self.atVal = [dictionary objectForKey:@"atVal"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnUpdateWafBlackRuleRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
atOp:(NSNumber*)atOp
atVal:(NSString*)atVal
domain:(NSString*)domain
idValue:(NSString*)idValue { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.atOp = atOp;
    self.atVal = atVal;
    self.domain = domain;
    self.idValue = idValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
atOp:(NSNumber*)atOp
atVal:(NSString*)atVal
domain:(NSString*)domain
idValue:(NSString*)idValue { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.atOp = atOp;
    self.atVal = atVal;
    self.domain = domain;
    self.idValue = idValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self matchOp])
    {
        [result setValue:[self matchOp] forKey:@"matchOp"];
    }
    if([self val])
    {
        [result setValue:[self val] forKey:@"val"];
    }
    if([self atOp])
    {
        [result setValue:[self atOp] forKey:@"atOp"];
    }
    if([self atVal])
    {
        [result setValue:[self atVal] forKey:@"atVal"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.matchOp = [dictionary objectForKey:@"matchOp"];
    self.val = [dictionary objectForKey:@"val"];
    self.atOp = [dictionary objectForKey:@"atOp"];
    self.atVal = [dictionary objectForKey:@"atVal"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
} 

@end
@implementation CdnQueryWafSwitchResult
-(id) initWithSwitchStatus:(NSString*) switchStatus { 
    self.switchStatus = switchStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnQuerywafWhiteRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
idValue:(NSString*)idValue
pageSize:(NSNumber*)pageSize
pageIndex:(NSNumber*)pageIndex
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.idValue = idValue;
    self.pageSize = pageSize;
    self.pageIndex = pageIndex;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
idValue:(NSString*)idValue
pageSize:(NSNumber*)pageSize
pageIndex:(NSNumber*)pageIndex
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.idValue = idValue;
    self.pageSize = pageSize;
    self.pageIndex = pageIndex;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageIndex])
    {
        [result setValue:[self pageIndex] forKey:@"pageIndex"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageIndex = [dictionary objectForKey:@"pageIndex"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetWebProtectSwitchRequest
-(id) initWithRegion:(NSString *)regionId
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDeleteWafBlackRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
domain:(NSString*)domain
ids:(NSString*)ids { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.domain = domain;
    self.ids = ids;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
domain:(NSString*)domain
ids:(NSString*)ids { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.domain = domain;
    self.ids = ids;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.ids = [dictionary objectForKey:@"ids"];
    return self;
} 

@end
@implementation CdnUpdateWebProtectSettingsRequest
-(id) initWithRegion:(NSString *)regionId
wafMode:(NSString*)wafMode
wafLevel:(NSNumber*)wafLevel
redirection:(NSString*)redirection
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.wafMode = wafMode;
    self.wafLevel = wafLevel;
    self.redirection = redirection;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
wafMode:(NSString*)wafMode
wafLevel:(NSNumber*)wafLevel
redirection:(NSString*)redirection
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.wafMode = wafMode;
    self.wafLevel = wafLevel;
    self.redirection = redirection;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self wafMode])
    {
        [result setValue:[self wafMode] forKey:@"wafMode"];
    }
    if([self wafLevel])
    {
        [result setValue:[self wafLevel] forKey:@"wafLevel"];
    }
    if([self redirection])
    {
        [result setValue:[self redirection] forKey:@"redirection"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.wafMode = [dictionary objectForKey:@"wafMode"];
    self.wafLevel = [dictionary objectForKey:@"wafLevel"];
    self.redirection = [dictionary objectForKey:@"redirection"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryCCProtectRulesRequest
-(id) initWithRegion:(NSString *)regionId
idValue:(NSString*)idValue
pageSize:(NSNumber*)pageSize
pageIndex:(NSNumber*)pageIndex
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.idValue = idValue;
    self.pageSize = pageSize;
    self.pageIndex = pageIndex;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
idValue:(NSString*)idValue
pageSize:(NSNumber*)pageSize
pageIndex:(NSNumber*)pageIndex
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.idValue = idValue;
    self.pageSize = pageSize;
    self.pageIndex = pageIndex;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageIndex])
    {
        [result setValue:[self pageIndex] forKey:@"pageIndex"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageIndex = [dictionary objectForKey:@"pageIndex"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnEnableWafWhiteRulesRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnEnableCCProtectRuleRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ids = ids;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWebProtectSettingsRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryCCProtectSwitchResult
-(id) initWithSwitchStatus:(NSString*) switchStatus { 
    self.switchStatus = switchStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnCreateCCProtectRuleRequest
-(id) initWithRegion:(NSString *)regionId
uri:(NSString*)uri
detectPeriod:(NSNumber*)detectPeriod
singleIpLimit:(NSNumber*)singleIpLimit
blockType:(NSNumber*)blockType
blockTime:(NSNumber*)blockTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.uri = uri;
    self.detectPeriod = detectPeriod;
    self.singleIpLimit = singleIpLimit;
    self.blockType = blockType;
    self.blockTime = blockTime;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
uri:(NSString*)uri
detectPeriod:(NSNumber*)detectPeriod
singleIpLimit:(NSNumber*)singleIpLimit
blockType:(NSNumber*)blockType
blockTime:(NSNumber*)blockTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.uri = uri;
    self.detectPeriod = detectPeriod;
    self.singleIpLimit = singleIpLimit;
    self.blockType = blockType;
    self.blockTime = blockTime;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self uri])
    {
        [result setValue:[self uri] forKey:@"uri"];
    }
    if([self detectPeriod])
    {
        [result setValue:[self detectPeriod] forKey:@"detectPeriod"];
    }
    if([self singleIpLimit])
    {
        [result setValue:[self singleIpLimit] forKey:@"singleIpLimit"];
    }
    if([self blockType])
    {
        [result setValue:[self blockType] forKey:@"blockType"];
    }
    if([self blockTime])
    {
        [result setValue:[self blockTime] forKey:@"blockTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uri = [dictionary objectForKey:@"uri"];
    self.detectPeriod = [dictionary objectForKey:@"detectPeriod"];
    self.singleIpLimit = [dictionary objectForKey:@"singleIpLimit"];
    self.blockType = [dictionary objectForKey:@"blockType"];
    self.blockTime = [dictionary objectForKey:@"blockTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWafSwitchRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetCCProtectSwitchRequest
-(id) initWithRegion:(NSString *)regionId
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetWafWhiteRuleSwitchRequest
-(id) initWithRegion:(NSString *)regionId
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWebProtectSettingsResult
-(id) initWithWafMode:(NSString*) wafMode
        wafLevel:(NSNumber*)wafLevel
        redirection:(NSString*)redirection { 
    self.wafMode = wafMode;               
    self.wafLevel = wafLevel;               
    self.redirection = redirection;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self wafMode])
    {
        [result setValue:[self wafMode] forKey:@"wafMode"];
    }
    if([self wafLevel])
    {
        [result setValue:[self wafLevel] forKey:@"wafLevel"];
    }
    if([self redirection])
    {
        [result setValue:[self redirection] forKey:@"redirection"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.wafMode = [dictionary objectForKey:@"wafMode"];
    self.wafLevel = [dictionary objectForKey:@"wafLevel"];
    self.redirection = [dictionary objectForKey:@"redirection"];
    return self;
} 

@end
@implementation CdnUpdateCCProtectRuleRequest
-(id) initWithRegion:(NSString *)regionId
uri:(NSString*)uri
detectPeriod:(NSNumber*)detectPeriod
singleIpLimit:(NSNumber*)singleIpLimit
blockType:(NSNumber*)blockType
blockTime:(NSNumber*)blockTime
domain:(NSString*)domain
idValue:(NSString*)idValue { 
    self.regionId = regionId;
    self.uri = uri;
    self.detectPeriod = detectPeriod;
    self.singleIpLimit = singleIpLimit;
    self.blockType = blockType;
    self.blockTime = blockTime;
    self.domain = domain;
    self.idValue = idValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
uri:(NSString*)uri
detectPeriod:(NSNumber*)detectPeriod
singleIpLimit:(NSNumber*)singleIpLimit
blockType:(NSNumber*)blockType
blockTime:(NSNumber*)blockTime
domain:(NSString*)domain
idValue:(NSString*)idValue { 
    self.regionId = regionId;
    self.version = version;
    self.uri = uri;
    self.detectPeriod = detectPeriod;
    self.singleIpLimit = singleIpLimit;
    self.blockType = blockType;
    self.blockTime = blockTime;
    self.domain = domain;
    self.idValue = idValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self uri])
    {
        [result setValue:[self uri] forKey:@"uri"];
    }
    if([self detectPeriod])
    {
        [result setValue:[self detectPeriod] forKey:@"detectPeriod"];
    }
    if([self singleIpLimit])
    {
        [result setValue:[self singleIpLimit] forKey:@"singleIpLimit"];
    }
    if([self blockType])
    {
        [result setValue:[self blockType] forKey:@"blockType"];
    }
    if([self blockTime])
    {
        [result setValue:[self blockTime] forKey:@"blockTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uri = [dictionary objectForKey:@"uri"];
    self.detectPeriod = [dictionary objectForKey:@"detectPeriod"];
    self.singleIpLimit = [dictionary objectForKey:@"singleIpLimit"];
    self.blockType = [dictionary objectForKey:@"blockType"];
    self.blockTime = [dictionary objectForKey:@"blockTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
} 

@end
@implementation CdnDisableWafBlackRulesRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnSetWafSwitchRequest
-(id) initWithRegion:(NSString *)regionId
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDisableWafWhiteRulesRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWafWhiteRuleSwitchRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWafBlackRuleSwitchResult
-(id) initWithSwitchStatus:(NSString*) switchStatus { 
    self.switchStatus = switchStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnSetWafBlackRuleSwitchRequest
-(id) initWithRegion:(NSString *)regionId
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
switchStatus:(NSString*)switchStatus
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.switchStatus = switchStatus;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnUpdateWafWhiteRuleRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
actions:(NSArray<NSString*>*)actions
domain:(NSString*)domain
idValue:(NSString*)idValue { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.actions = actions;
    self.domain = domain;
    self.idValue = idValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
actions:(NSArray<NSString*>*)actions
domain:(NSString*)domain
idValue:(NSString*)idValue { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.actions = actions;
    self.domain = domain;
    self.idValue = idValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self matchOp])
    {
        [result setValue:[self matchOp] forKey:@"matchOp"];
    }
    if([self val])
    {
        [result setValue:[self val] forKey:@"val"];
    }
    if([self actions])
    {
        [result setValue:[self actions] forKey:@"actions"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.matchOp = [dictionary objectForKey:@"matchOp"];
    self.val = [dictionary objectForKey:@"val"];
    self.actions = [dictionary objectForKey:@"actions"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
} 

@end
@implementation CdnCreateWafWhiteRuleRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
actions:(NSArray<NSString*>*)actions
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.actions = actions;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
matchOp:(NSNumber*)matchOp
val:(NSString*)val
actions:(NSArray<NSString*>*)actions
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.matchOp = matchOp;
    self.val = val;
    self.actions = actions;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self matchOp])
    {
        [result setValue:[self matchOp] forKey:@"matchOp"];
    }
    if([self val])
    {
        [result setValue:[self val] forKey:@"val"];
    }
    if([self actions])
    {
        [result setValue:[self actions] forKey:@"actions"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.matchOp = [dictionary objectForKey:@"matchOp"];
    self.val = [dictionary objectForKey:@"val"];
    self.actions = [dictionary objectForKey:@"actions"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDeleteCCProtectRuleRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain
ids:(NSString*)ids { 
    self.regionId = regionId;
    self.domain = domain;
    self.ids = ids;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain
ids:(NSString*)ids { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    self.ids = ids;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.ids = [dictionary objectForKey:@"ids"];
    return self;
} 

@end
@implementation CdnEnableWafBlackRulesRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids
ruleType:(NSString*)ruleType
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    self.ruleType = ruleType;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryIpBlackSettingStatusRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQuerywafBlackRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
idValue:(NSString*)idValue
pageSize:(NSNumber*)pageSize
pageIndex:(NSNumber*)pageIndex
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.idValue = idValue;
    self.pageSize = pageSize;
    self.pageIndex = pageIndex;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
idValue:(NSString*)idValue
pageSize:(NSNumber*)pageSize
pageIndex:(NSNumber*)pageIndex
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.idValue = idValue;
    self.pageSize = pageSize;
    self.pageIndex = pageIndex;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageIndex])
    {
        [result setValue:[self pageIndex] forKey:@"pageIndex"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageIndex = [dictionary objectForKey:@"pageIndex"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWafWhiteRuleSwitchResult
-(id) initWithSwitchStatus:(NSString*) switchStatus { 
    self.switchStatus = switchStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnQueryCCProtectSwitchRequest
-(id) initWithRegion:(NSString *)regionId
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnQueryWebProtectSwitchResult
-(id) initWithSwitchStatus:(NSString*) switchStatus { 
    self.switchStatus = switchStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    return self;
} 

@end
@implementation CdnDeleteWafWhiteRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleType:(NSString*)ruleType
domain:(NSString*)domain
ids:(NSString*)ids { 
    self.regionId = regionId;
    self.ruleType = ruleType;
    self.domain = domain;
    self.ids = ids;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleType:(NSString*)ruleType
domain:(NSString*)domain
ids:(NSString*)ids { 
    self.regionId = regionId;
    self.version = version;
    self.ruleType = ruleType;
    self.domain = domain;
    self.ids = ids;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.ids = [dictionary objectForKey:@"ids"];
    return self;
} 

@end
@implementation CdnQueryWafRegionsRequest
-(id) initWithRegion:(NSString *)regionId
skipType:(NSString*)skipType { 
    self.regionId = regionId;
    self.skipType = skipType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
skipType:(NSString*)skipType { 
    self.regionId = regionId;
    self.version = version;
    self.skipType = skipType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self skipType])
    {
        [result setValue:[self skipType] forKey:@"skipType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.skipType = [dictionary objectForKey:@"skipType"];
    return self;
} 

@end
@implementation CdnGetAllUpperNodeIpListResult
-(id) initWithIpList:(NSArray<NSString*>*) ipList { 
    self.ipList = ipList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ipList])
    {
        [result setValue:[self ipList] forKey:@"ipList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ipList = [dictionary objectForKey:@"ipList"];
    return self;
} 

@end
@implementation CdnWafQueryPvRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnWafQueryPvForAreaAndIpRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnWafQueryAttackDetailsRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
sortField:(NSString*)sortField
sortRule:(NSString*)sortRule
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.sortField = sortField;
    self.sortRule = sortRule;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
sortField:(NSString*)sortField
sortRule:(NSString*)sortRule
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.sortField = sortField;
    self.sortRule = sortRule;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self sortField])
    {
        [result setValue:[self sortField] forKey:@"sortField"];
    }
    if([self sortRule])
    {
        [result setValue:[self sortRule] forKey:@"sortRule"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.sortField = [dictionary objectForKey:@"sortField"];
    self.sortRule = [dictionary objectForKey:@"sortRule"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
} 

@end
@implementation CdnQueryDomainConfigStatusRequest
-(id) initWithRegion:(NSString *)regionId
taskId:(NSString*)taskId { 
    self.regionId = regionId;
    self.taskId = taskId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskId:(NSString*)taskId { 
    self.regionId = regionId;
    self.version = version;
    self.taskId = taskId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskId = [dictionary objectForKey:@"taskId"];
    return self;
} 

@end
@implementation CdnQueryDomainConfigStatusResult
-(id) initWithTaskStatus:(NSString*) taskStatus { 
    self.taskStatus = taskStatus;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskStatus])
    {
        [result setValue:[self taskStatus] forKey:@"taskStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskStatus = [dictionary objectForKey:@"taskStatus"];
    return self;
} 

@end
@implementation CdnCheckWhetherIpBelongToJCloudRequest
-(id) initWithRegion:(NSString *)regionId
ips:(NSArray<NSString*>*)ips { 
    self.regionId = regionId;
    self.ips = ips;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ips:(NSArray<NSString*>*)ips { 
    self.regionId = regionId;
    self.version = version;
    self.ips = ips;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ips])
    {
        [result setValue:[self ips] forKey:@"ips"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ips = [dictionary objectForKey:@"ips"];
    return self;
} 

@end
@implementation CdnCreateLiveDomainPrefecthTaskRequest
-(id) initWithRegion:(NSString *)regionId
urlList:(NSArray<NSString*>*)urlList
prefetchTime:(NSNumber*)prefetchTime
action:(NSString*)action { 
    self.regionId = regionId;
    self.urlList = urlList;
    self.prefetchTime = prefetchTime;
    self.action = action;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
urlList:(NSArray<NSString*>*)urlList
prefetchTime:(NSNumber*)prefetchTime
action:(NSString*)action { 
    self.regionId = regionId;
    self.version = version;
    self.urlList = urlList;
    self.prefetchTime = prefetchTime;
    self.action = action;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self urlList])
    {
        [result setValue:[self urlList] forKey:@"urlList"];
    }
    if([self prefetchTime])
    {
        [result setValue:[self prefetchTime] forKey:@"prefetchTime"];
    }
    if([self action])
    {
        [result setValue:[self action] forKey:@"action"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.urlList = [dictionary objectForKey:@"urlList"];
    self.prefetchTime = [dictionary objectForKey:@"prefetchTime"];
    self.action = [dictionary objectForKey:@"action"];
    return self;
} 

@end
@implementation CdnQueryLivePrefetchTaskRequest
-(id) initWithRegion:(NSString *)regionId
urlList:(NSArray<NSString*>*)urlList { 
    self.regionId = regionId;
    self.urlList = urlList;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
urlList:(NSArray<NSString*>*)urlList { 
    self.regionId = regionId;
    self.version = version;
    self.urlList = urlList;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self urlList])
    {
        [result setValue:[self urlList] forKey:@"urlList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.urlList = [dictionary objectForKey:@"urlList"];
    return self;
} 

@end
@implementation CdnQueryBandRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.area = area;
    self.isp = isp;
    self.period = period;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.area = area;
    self.isp = isp;
    self.period = period;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.period = [dictionary objectForKey:@"period"];
    return self;
} 

@end
@implementation CdnQueryBandWithAreaRequest
-(id) initWithRegion:(NSString *)regionId
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period { 
    self.regionId = regionId;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.area = area;
    self.isp = isp;
    self.period = period;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
startTime:(NSString*)startTime
endTime:(NSString*)endTime
domain:(NSString*)domain
area:(NSString*)area
isp:(NSString*)isp
period:(NSString*)period { 
    self.regionId = regionId;
    self.version = version;
    self.startTime = startTime;
    self.endTime = endTime;
    self.domain = domain;
    self.area = area;
    self.isp = isp;
    self.period = period;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.period = [dictionary objectForKey:@"period"];
    return self;
} 

@end
  
@implementation CdnQueryPushDomainORAppOrStreamResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryPushDomainORAppOrStreamResult* result = [[CdnQueryPushDomainORAppOrStreamResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryPushDomainORAppOrStreamResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDeleteForbiddenStreamRequest
-(id) initWithRegion:(NSString *)regionId
deleteStreams:(NSArray<DeleteStream*>*)deleteStreams
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.deleteStreams = deleteStreams;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deleteStreams:(NSArray<DeleteStream*>*)deleteStreams
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.deleteStreams = deleteStreams;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self deleteStreams])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self deleteStreams] count]; i++) {
            DeleteStream* item = [[self deleteStreams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"deleteStreams"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* deleteStreamsArray = [dictionary objectForKey:@"deleteStreams"];
    if(deleteStreamsArray&&![deleteStreamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [deleteStreamsArray count];i++)
        {
        DeleteStream* item = [[DeleteStream alloc]initWithDic:[deleteStreamsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.deleteStreams = propertyArray;
    }
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
  
@implementation CdnSetPushIpWhiteListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetPushIpWhiteListResult* result = [[CdnSetPushIpWhiteListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetPushIpWhiteListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetForwardAuthenticationResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetForwardAuthenticationResult* result = [[CdnSetForwardAuthenticationResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetForwardAuthenticationResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetProtocolConvertResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetLiveDomainBackSourceRequest
-(id) initWithRegion:(NSString *)regionId
sourceType:(NSString*)sourceType
backSourceType:(NSString*)backSourceType
defaultSourceHost:(NSString*)defaultSourceHost
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.sourceType = sourceType;
    self.backSourceType = backSourceType;
    self.defaultSourceHost = defaultSourceHost;
    self.domainSource = domainSource;
    self.ipSource = ipSource;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sourceType:(NSString*)sourceType
backSourceType:(NSString*)backSourceType
defaultSourceHost:(NSString*)defaultSourceHost
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.sourceType = sourceType;
    self.backSourceType = backSourceType;
    self.defaultSourceHost = defaultSourceHost;
    self.domainSource = domainSource;
    self.ipSource = ipSource;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self domainSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self ipSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
        DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
        IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
  
@implementation CdnSetPublishNormalTimeoutResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetPublishNormalTimeoutResult* result = [[CdnSetPublishNormalTimeoutResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetPublishNormalTimeoutResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetLiveDomainAccessKeyResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnOperateLiveDomainIpBlackListResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnOperateLiveDomainIpBlackListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnOperateLiveDomainIpBlackListResult* result = [[CdnOperateLiveDomainIpBlackListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnOperateLiveDomainIpBlackListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetProtocolConvertResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetProtocolConvertResult* result = [[CdnSetProtocolConvertResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetProtocolConvertResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetStreamNotifyInfoResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetStreamNotifyInfoResult* result = [[CdnSetStreamNotifyInfoResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetStreamNotifyInfoResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetLiveDomainIpBlackListResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetLiveDomainBackSourceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetLiveDomainBackSourceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetLiveDomainBackSourceResult* result = [[CdnSetLiveDomainBackSourceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetLiveDomainBackSourceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetProtocolConvertRequest
-(id) initWithRegion:(NSString *)regionId
certificate:(NSString*)certificate
rsaKey:(NSString*)rsaKey
certFrom:(NSString*)certFrom
sslCertId:(NSString*)sslCertId
syncToSsl:(NSNumber*)syncToSsl
certName:(NSString*)certName
protocolConverts:(NSArray<ProtocolConvert*>*)protocolConverts
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.certificate = certificate;
    self.rsaKey = rsaKey;
    self.certFrom = certFrom;
    self.sslCertId = sslCertId;
    self.syncToSsl = syncToSsl;
    self.certName = certName;
    self.protocolConverts = protocolConverts;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
certificate:(NSString*)certificate
rsaKey:(NSString*)rsaKey
certFrom:(NSString*)certFrom
sslCertId:(NSString*)sslCertId
syncToSsl:(NSNumber*)syncToSsl
certName:(NSString*)certName
protocolConverts:(NSArray<ProtocolConvert*>*)protocolConverts
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.certificate = certificate;
    self.rsaKey = rsaKey;
    self.certFrom = certFrom;
    self.sslCertId = sslCertId;
    self.syncToSsl = syncToSsl;
    self.certName = certName;
    self.protocolConverts = protocolConverts;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self certificate])
    {
        [result setValue:[self certificate] forKey:@"certificate"];
    }
    if([self rsaKey])
    {
        [result setValue:[self rsaKey] forKey:@"rsaKey"];
    }
    if([self certFrom])
    {
        [result setValue:[self certFrom] forKey:@"certFrom"];
    }
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self syncToSsl])
    {
        [result setValue:[self syncToSsl] forKey:@"syncToSsl"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self protocolConverts])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self protocolConverts] count]; i++) {
            ProtocolConvert* item = [[self protocolConverts] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"protocolConverts"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.certificate = [dictionary objectForKey:@"certificate"];
    self.rsaKey = [dictionary objectForKey:@"rsaKey"];
    self.certFrom = [dictionary objectForKey:@"certFrom"];
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.syncToSsl = [dictionary objectForKey:@"syncToSsl"];
    self.certName = [dictionary objectForKey:@"certName"];
    NSArray* protocolConvertsArray = [dictionary objectForKey:@"protocolConverts"];
    if(protocolConvertsArray&&![protocolConvertsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [protocolConvertsArray count];i++)
        {
        ProtocolConvert* item = [[ProtocolConvert alloc]initWithDic:[protocolConvertsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.protocolConverts = propertyArray;
    }
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
@implementation CdnDeleteForbiddenStreamResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnDeleteForbiddenStreamResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteForbiddenStreamResult* result = [[CdnDeleteForbiddenStreamResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteForbiddenStreamResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetOriginAuthenticationResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetOriginAuthenticationResult* result = [[CdnSetOriginAuthenticationResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetOriginAuthenticationResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetLiveDomainIpBlackListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetLiveDomainIpBlackListResult* result = [[CdnSetLiveDomainIpBlackListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetLiveDomainIpBlackListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetLiveDomainReferResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetLiveDomainReferResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetLiveDomainReferResult* result = [[CdnSetLiveDomainReferResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetLiveDomainReferResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetLiveDomainBackSourceHostResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetLiveDomainBackSourceHostResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetLiveDomainBackSourceHostResult* result = [[CdnSetLiveDomainBackSourceHostResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetLiveDomainBackSourceHostResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetLiveDomainAccessKeyResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetLiveDomainAccessKeyResult* result = [[CdnSetLiveDomainAccessKeyResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetLiveDomainAccessKeyResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnOperateLiveDomainIgnoreQueryStringResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnOperateLiveDomainIgnoreQueryStringResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnOperateLiveDomainIgnoreQueryStringResult* result = [[CdnOperateLiveDomainIgnoreQueryStringResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnOperateLiveDomainIgnoreQueryStringResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnBindPublishDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnBindPublishDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnBindPublishDomainResult* result = [[CdnBindPublishDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnBindPublishDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnBatchCreateLiveDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryLiveDomainAppsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLiveDomainAppsResult* result = [[CdnQueryLiveDomainAppsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLiveDomainAppsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateLiveDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnCreateLiveDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateLiveDomainResult* result = [[CdnCreateLiveDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateLiveDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryLiveDomainDetailV2Result
-(id) initWithId:(NSNumber*) idValue
        domain:(NSString*)domain
        domainType:(NSString*)domainType
        publishDomain:(NSString*)publishDomain
        createTime:(NSString*)createTime
        cname:(NSString*)cname
        siteType:(NSString*)siteType
        playProtocol:(NSArray<NSString*>*)playProtocol
        status:(NSString*)status
        source:(SnowLeopardBackSourceInfo*)source
        sourceType:(NSString*)sourceType
        backSourceType:(NSString*)backSourceType
        videoType:(NSString*)videoType
        audioType:(NSString*)audioType
        type:(NSString*)type
        defaultSourceHost:(NSString*)defaultSourceHost
        archiveNo:(NSString*)archiveNo
        forwardCustomVhost:(NSString*)forwardCustomVhost
        flvUrls:(NSArray<NSString*>*)flvUrls
        hlsUrls:(NSArray<NSString*>*)hlsUrls
        rtmpUrls:(NSArray<NSString*>*)rtmpUrls
        protocolConverts:(NSArray<ProtocolConvert*>*)protocolConverts
        certificate:(NSString*)certificate
        rsaKey:(NSString*)rsaKey
        accesskeyType:(NSNumber*)accesskeyType
        accesskeyKey:(NSString*)accesskeyKey
        playAuthLifeTime:(NSNumber*)playAuthLifeTime
        authLifeTime:(NSNumber*)authLifeTime
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey
        allowApps:(NSArray<NSString*>*)allowApps
        ips:(NSArray<NSString*>*)ips
        blackIpsEnable:(NSString*)blackIpsEnable
        ignoreQueryString:(NSString*)ignoreQueryString
        referType:(NSString*)referType
        referList:(NSArray<NSString*>*)referList
        allowNoReferHeader:(NSString*)allowNoReferHeader
        allowNullReferHeader:(NSString*)allowNullReferHeader
        publishNormalTimeout:(NSNumber*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        certFrom:(NSString*)certFrom
        sslCertId:(NSString*)sslCertId
        certName:(NSString*)certName
        certType:(NSString*)certType
        sslCertStartTime:(NSString*)sslCertStartTime
        sslCertEndTime:(NSString*)sslCertEndTime
        digest:(NSString*)digest
        accelerateRegion:(NSString*)accelerateRegion { 
    self.idValue = idValue;               
    self.domain = domain;               
    self.domainType = domainType;               
    self.publishDomain = publishDomain;               
    self.createTime = createTime;               
    self.cname = cname;               
    self.siteType = siteType;               
    self.playProtocol = playProtocol;               
    self.status = status;               
    self.source = source;               
    self.sourceType = sourceType;               
    self.backSourceType = backSourceType;               
    self.videoType = videoType;               
    self.audioType = audioType;               
    self.type = type;               
    self.defaultSourceHost = defaultSourceHost;               
    self.archiveNo = archiveNo;               
    self.forwardCustomVhost = forwardCustomVhost;               
    self.flvUrls = flvUrls;               
    self.hlsUrls = hlsUrls;               
    self.rtmpUrls = rtmpUrls;               
    self.protocolConverts = protocolConverts;               
    self.certificate = certificate;               
    self.rsaKey = rsaKey;               
    self.accesskeyType = accesskeyType;               
    self.accesskeyKey = accesskeyKey;               
    self.playAuthLifeTime = playAuthLifeTime;               
    self.authLifeTime = authLifeTime;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    self.allowApps = allowApps;               
    self.ips = ips;               
    self.blackIpsEnable = blackIpsEnable;               
    self.ignoreQueryString = ignoreQueryString;               
    self.referType = referType;               
    self.referList = referList;               
    self.allowNoReferHeader = allowNoReferHeader;               
    self.allowNullReferHeader = allowNullReferHeader;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.certFrom = certFrom;               
    self.sslCertId = sslCertId;               
    self.certName = certName;               
    self.certType = certType;               
    self.sslCertStartTime = sslCertStartTime;               
    self.sslCertEndTime = sslCertEndTime;               
    self.digest = digest;               
    self.accelerateRegion = accelerateRegion;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self domainType])
    {
        [result setValue:[self domainType] forKey:@"domainType"];
    }
    if([self publishDomain])
    {
        [result setValue:[self publishDomain] forKey:@"publishDomain"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self cname])
    {
        [result setValue:[self cname] forKey:@"cname"];
    }
    if([self siteType])
    {
        [result setValue:[self siteType] forKey:@"siteType"];
    }
    if([self playProtocol])
    {
        [result setValue:[self playProtocol] forKey:@"playProtocol"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self source])
    {
        [result setValue:[[self source] dictionary]forKey:@"source"];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self videoType])
    {
        [result setValue:[self videoType] forKey:@"videoType"];
    }
    if([self audioType])
    {
        [result setValue:[self audioType] forKey:@"audioType"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self archiveNo])
    {
        [result setValue:[self archiveNo] forKey:@"archiveNo"];
    }
    if([self forwardCustomVhost])
    {
        [result setValue:[self forwardCustomVhost] forKey:@"forwardCustomVhost"];
    }
    if([self flvUrls])
    {
        [result setValue:[self flvUrls] forKey:@"flvUrls"];
    }
    if([self hlsUrls])
    {
        [result setValue:[self hlsUrls] forKey:@"hlsUrls"];
    }
    if([self rtmpUrls])
    {
        [result setValue:[self rtmpUrls] forKey:@"rtmpUrls"];
    }
    if([self protocolConverts])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self protocolConverts] count]; i++) {
            ProtocolConvert* item = [[self protocolConverts] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"protocolConverts"];
    }
    if([self certificate])
    {
        [result setValue:[self certificate] forKey:@"certificate"];
    }
    if([self rsaKey])
    {
        [result setValue:[self rsaKey] forKey:@"rsaKey"];
    }
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self playAuthLifeTime])
    {
        [result setValue:[self playAuthLifeTime] forKey:@"playAuthLifeTime"];
    }
    if([self authLifeTime])
    {
        [result setValue:[self authLifeTime] forKey:@"authLifeTime"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    if([self allowApps])
    {
        [result setValue:[self allowApps] forKey:@"allowApps"];
    }
    if([self ips])
    {
        [result setValue:[self ips] forKey:@"ips"];
    }
    if([self blackIpsEnable])
    {
        [result setValue:[self blackIpsEnable] forKey:@"blackIpsEnable"];
    }
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self referType])
    {
        [result setValue:[self referType] forKey:@"referType"];
    }
    if([self referList])
    {
        [result setValue:[self referList] forKey:@"referList"];
    }
    if([self allowNoReferHeader])
    {
        [result setValue:[self allowNoReferHeader] forKey:@"allowNoReferHeader"];
    }
    if([self allowNullReferHeader])
    {
        [result setValue:[self allowNullReferHeader] forKey:@"allowNullReferHeader"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self certFrom])
    {
        [result setValue:[self certFrom] forKey:@"certFrom"];
    }
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self certType])
    {
        [result setValue:[self certType] forKey:@"certType"];
    }
    if([self sslCertStartTime])
    {
        [result setValue:[self sslCertStartTime] forKey:@"sslCertStartTime"];
    }
    if([self sslCertEndTime])
    {
        [result setValue:[self sslCertEndTime] forKey:@"sslCertEndTime"];
    }
    if([self digest])
    {
        [result setValue:[self digest] forKey:@"digest"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.domainType = [dictionary objectForKey:@"domainType"];
    self.publishDomain = [dictionary objectForKey:@"publishDomain"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.cname = [dictionary objectForKey:@"cname"];
    self.siteType = [dictionary objectForKey:@"siteType"];
    self.playProtocol = [dictionary objectForKey:@"playProtocol"];
    self.status = [dictionary objectForKey:@"status"];
    self.source = [[SnowLeopardBackSourceInfo alloc]initWithDic:[dictionary objectForKey:@"source"]];
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.videoType = [dictionary objectForKey:@"videoType"];
    self.audioType = [dictionary objectForKey:@"audioType"];
    self.type = [dictionary objectForKey:@"type"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.archiveNo = [dictionary objectForKey:@"archiveNo"];
    self.forwardCustomVhost = [dictionary objectForKey:@"forwardCustomVhost"];
    self.flvUrls = [dictionary objectForKey:@"flvUrls"];
    self.hlsUrls = [dictionary objectForKey:@"hlsUrls"];
    self.rtmpUrls = [dictionary objectForKey:@"rtmpUrls"];
    NSArray* protocolConvertsArray = [dictionary objectForKey:@"protocolConverts"];
    if(protocolConvertsArray&&![protocolConvertsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [protocolConvertsArray count];i++)
        {
        ProtocolConvert* item = [[ProtocolConvert alloc]initWithDic:[protocolConvertsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.protocolConverts = propertyArray;
    }
    self.certificate = [dictionary objectForKey:@"certificate"];
    self.rsaKey = [dictionary objectForKey:@"rsaKey"];
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.playAuthLifeTime = [dictionary objectForKey:@"playAuthLifeTime"];
    self.authLifeTime = [dictionary objectForKey:@"authLifeTime"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    self.allowApps = [dictionary objectForKey:@"allowApps"];
    self.ips = [dictionary objectForKey:@"ips"];
    self.blackIpsEnable = [dictionary objectForKey:@"blackIpsEnable"];
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.referType = [dictionary objectForKey:@"referType"];
    self.referList = [dictionary objectForKey:@"referList"];
    self.allowNoReferHeader = [dictionary objectForKey:@"allowNoReferHeader"];
    self.allowNullReferHeader = [dictionary objectForKey:@"allowNullReferHeader"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.certFrom = [dictionary objectForKey:@"certFrom"];
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.certName = [dictionary objectForKey:@"certName"];
    self.certType = [dictionary objectForKey:@"certType"];
    self.sslCertStartTime = [dictionary objectForKey:@"sslCertStartTime"];
    self.sslCertEndTime = [dictionary objectForKey:@"sslCertEndTime"];
    self.digest = [dictionary objectForKey:@"digest"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
} 

@end
@implementation CdnQueryLiveDomainDetailResult
-(id) initWithDomainType:(NSString*) domainType
        playDomain:(NSString*)playDomain
        publishDomain:(NSString*)publishDomain
        originDomain:(NSString*)originDomain
        createdTime:(NSString*)createdTime
        cname:(NSString*)cname
        siteType:(NSString*)siteType
        status:(NSString*)status
        source:(BackSourceInfo*)source
        sourceType:(NSString*)sourceType
        backSourceType:(NSString*)backSourceType
        videoType:(NSString*)videoType
        audioType:(NSString*)audioType
        type:(NSString*)type
        defaultSourceHost:(NSString*)defaultSourceHost
        archiveNo:(NSString*)archiveNo
        rtmpDomain:(NSString*)rtmpDomain
        rtmpCname:(NSString*)rtmpCname
        hdlDomain:(NSString*)hdlDomain
        hdlCname:(NSString*)hdlCname
        hlsDomain:(NSString*)hlsDomain
        hlsCname:(NSString*)hlsCname
        forwardCustomVhost:(NSString*)forwardCustomVhost
        flvUrls:(NSArray<NSString*>*)flvUrls
        hlsUrls:(NSArray<NSString*>*)hlsUrls
        rtmpUrls:(NSArray<NSString*>*)rtmpUrls
        protocolConverts:(NSArray<ProtocolConvert*>*)protocolConverts
        certificate:(NSString*)certificate
        rsaKey:(NSString*)rsaKey
        accesskeyType:(NSNumber*)accesskeyType
        accesskeyKey:(NSString*)accesskeyKey
        playAuthLifeTime:(NSNumber*)playAuthLifeTime
        authLifeTime:(NSNumber*)authLifeTime
        forwardAccessKeyType:(NSNumber*)forwardAccessKeyType
        forwardPrivateKey:(NSString*)forwardPrivateKey
        originAccessKeyType:(NSNumber*)originAccessKeyType
        originPrivateKey:(NSString*)originPrivateKey
        allowApps:(NSArray<NSString*>*)allowApps
        ips:(NSArray<NSString*>*)ips
        blackIpsEnable:(NSString*)blackIpsEnable
        externId:(NSString*)externId
        ignoreQueryString:(NSString*)ignoreQueryString
        referType:(NSString*)referType
        referList:(NSArray<NSString*>*)referList
        allowNoReferHeader:(NSString*)allowNoReferHeader
        allowNullReferHeader:(NSString*)allowNullReferHeader
        publishNormalTimeout:(NSString*)publishNormalTimeout
        notifyCustomUrl:(NSString*)notifyCustomUrl
        notifyCustomAuthKey:(NSString*)notifyCustomAuthKey
        certFrom:(NSString*)certFrom
        sslCertId:(NSString*)sslCertId
        certName:(NSString*)certName
        certType:(NSString*)certType
        sslCertStartTime:(NSString*)sslCertStartTime
        sslCertEndTime:(NSString*)sslCertEndTime
        accelerateRegion:(NSString*)accelerateRegion { 
    self.domainType = domainType;               
    self.playDomain = playDomain;               
    self.publishDomain = publishDomain;               
    self.originDomain = originDomain;               
    self.createdTime = createdTime;               
    self.cname = cname;               
    self.siteType = siteType;               
    self.status = status;               
    self.source = source;               
    self.sourceType = sourceType;               
    self.backSourceType = backSourceType;               
    self.videoType = videoType;               
    self.audioType = audioType;               
    self.type = type;               
    self.defaultSourceHost = defaultSourceHost;               
    self.archiveNo = archiveNo;               
    self.rtmpDomain = rtmpDomain;               
    self.rtmpCname = rtmpCname;               
    self.hdlDomain = hdlDomain;               
    self.hdlCname = hdlCname;               
    self.hlsDomain = hlsDomain;               
    self.hlsCname = hlsCname;               
    self.forwardCustomVhost = forwardCustomVhost;               
    self.flvUrls = flvUrls;               
    self.hlsUrls = hlsUrls;               
    self.rtmpUrls = rtmpUrls;               
    self.protocolConverts = protocolConverts;               
    self.certificate = certificate;               
    self.rsaKey = rsaKey;               
    self.accesskeyType = accesskeyType;               
    self.accesskeyKey = accesskeyKey;               
    self.playAuthLifeTime = playAuthLifeTime;               
    self.authLifeTime = authLifeTime;               
    self.forwardAccessKeyType = forwardAccessKeyType;               
    self.forwardPrivateKey = forwardPrivateKey;               
    self.originAccessKeyType = originAccessKeyType;               
    self.originPrivateKey = originPrivateKey;               
    self.allowApps = allowApps;               
    self.ips = ips;               
    self.blackIpsEnable = blackIpsEnable;               
    self.externId = externId;               
    self.ignoreQueryString = ignoreQueryString;               
    self.referType = referType;               
    self.referList = referList;               
    self.allowNoReferHeader = allowNoReferHeader;               
    self.allowNullReferHeader = allowNullReferHeader;               
    self.publishNormalTimeout = publishNormalTimeout;               
    self.notifyCustomUrl = notifyCustomUrl;               
    self.notifyCustomAuthKey = notifyCustomAuthKey;               
    self.certFrom = certFrom;               
    self.sslCertId = sslCertId;               
    self.certName = certName;               
    self.certType = certType;               
    self.sslCertStartTime = sslCertStartTime;               
    self.sslCertEndTime = sslCertEndTime;               
    self.accelerateRegion = accelerateRegion;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domainType])
    {
        [result setValue:[self domainType] forKey:@"domainType"];
    }
    if([self playDomain])
    {
        [result setValue:[self playDomain] forKey:@"playDomain"];
    }
    if([self publishDomain])
    {
        [result setValue:[self publishDomain] forKey:@"publishDomain"];
    }
    if([self originDomain])
    {
        [result setValue:[self originDomain] forKey:@"originDomain"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cname])
    {
        [result setValue:[self cname] forKey:@"cname"];
    }
    if([self siteType])
    {
        [result setValue:[self siteType] forKey:@"siteType"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self source])
    {
        [result setValue:[[self source] dictionary]forKey:@"source"];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self videoType])
    {
        [result setValue:[self videoType] forKey:@"videoType"];
    }
    if([self audioType])
    {
        [result setValue:[self audioType] forKey:@"audioType"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self archiveNo])
    {
        [result setValue:[self archiveNo] forKey:@"archiveNo"];
    }
    if([self rtmpDomain])
    {
        [result setValue:[self rtmpDomain] forKey:@"rtmpDomain"];
    }
    if([self rtmpCname])
    {
        [result setValue:[self rtmpCname] forKey:@"rtmpCname"];
    }
    if([self hdlDomain])
    {
        [result setValue:[self hdlDomain] forKey:@"hdlDomain"];
    }
    if([self hdlCname])
    {
        [result setValue:[self hdlCname] forKey:@"hdlCname"];
    }
    if([self hlsDomain])
    {
        [result setValue:[self hlsDomain] forKey:@"hlsDomain"];
    }
    if([self hlsCname])
    {
        [result setValue:[self hlsCname] forKey:@"hlsCname"];
    }
    if([self forwardCustomVhost])
    {
        [result setValue:[self forwardCustomVhost] forKey:@"forwardCustomVhost"];
    }
    if([self flvUrls])
    {
        [result setValue:[self flvUrls] forKey:@"flvUrls"];
    }
    if([self hlsUrls])
    {
        [result setValue:[self hlsUrls] forKey:@"hlsUrls"];
    }
    if([self rtmpUrls])
    {
        [result setValue:[self rtmpUrls] forKey:@"rtmpUrls"];
    }
    if([self protocolConverts])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self protocolConverts] count]; i++) {
            ProtocolConvert* item = [[self protocolConverts] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"protocolConverts"];
    }
    if([self certificate])
    {
        [result setValue:[self certificate] forKey:@"certificate"];
    }
    if([self rsaKey])
    {
        [result setValue:[self rsaKey] forKey:@"rsaKey"];
    }
    if([self accesskeyType])
    {
        [result setValue:[self accesskeyType] forKey:@"accesskeyType"];
    }
    if([self accesskeyKey])
    {
        [result setValue:[self accesskeyKey] forKey:@"accesskeyKey"];
    }
    if([self playAuthLifeTime])
    {
        [result setValue:[self playAuthLifeTime] forKey:@"playAuthLifeTime"];
    }
    if([self authLifeTime])
    {
        [result setValue:[self authLifeTime] forKey:@"authLifeTime"];
    }
    if([self forwardAccessKeyType])
    {
        [result setValue:[self forwardAccessKeyType] forKey:@"forwardAccessKeyType"];
    }
    if([self forwardPrivateKey])
    {
        [result setValue:[self forwardPrivateKey] forKey:@"forwardPrivateKey"];
    }
    if([self originAccessKeyType])
    {
        [result setValue:[self originAccessKeyType] forKey:@"originAccessKeyType"];
    }
    if([self originPrivateKey])
    {
        [result setValue:[self originPrivateKey] forKey:@"originPrivateKey"];
    }
    if([self allowApps])
    {
        [result setValue:[self allowApps] forKey:@"allowApps"];
    }
    if([self ips])
    {
        [result setValue:[self ips] forKey:@"ips"];
    }
    if([self blackIpsEnable])
    {
        [result setValue:[self blackIpsEnable] forKey:@"blackIpsEnable"];
    }
    if([self externId])
    {
        [result setValue:[self externId] forKey:@"externId"];
    }
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self referType])
    {
        [result setValue:[self referType] forKey:@"referType"];
    }
    if([self referList])
    {
        [result setValue:[self referList] forKey:@"referList"];
    }
    if([self allowNoReferHeader])
    {
        [result setValue:[self allowNoReferHeader] forKey:@"allowNoReferHeader"];
    }
    if([self allowNullReferHeader])
    {
        [result setValue:[self allowNullReferHeader] forKey:@"allowNullReferHeader"];
    }
    if([self publishNormalTimeout])
    {
        [result setValue:[self publishNormalTimeout] forKey:@"publishNormalTimeout"];
    }
    if([self notifyCustomUrl])
    {
        [result setValue:[self notifyCustomUrl] forKey:@"notifyCustomUrl"];
    }
    if([self notifyCustomAuthKey])
    {
        [result setValue:[self notifyCustomAuthKey] forKey:@"notifyCustomAuthKey"];
    }
    if([self certFrom])
    {
        [result setValue:[self certFrom] forKey:@"certFrom"];
    }
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self certType])
    {
        [result setValue:[self certType] forKey:@"certType"];
    }
    if([self sslCertStartTime])
    {
        [result setValue:[self sslCertStartTime] forKey:@"sslCertStartTime"];
    }
    if([self sslCertEndTime])
    {
        [result setValue:[self sslCertEndTime] forKey:@"sslCertEndTime"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domainType = [dictionary objectForKey:@"domainType"];
    self.playDomain = [dictionary objectForKey:@"playDomain"];
    self.publishDomain = [dictionary objectForKey:@"publishDomain"];
    self.originDomain = [dictionary objectForKey:@"originDomain"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cname = [dictionary objectForKey:@"cname"];
    self.siteType = [dictionary objectForKey:@"siteType"];
    self.status = [dictionary objectForKey:@"status"];
    self.source = [[BackSourceInfo alloc]initWithDic:[dictionary objectForKey:@"source"]];
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.videoType = [dictionary objectForKey:@"videoType"];
    self.audioType = [dictionary objectForKey:@"audioType"];
    self.type = [dictionary objectForKey:@"type"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.archiveNo = [dictionary objectForKey:@"archiveNo"];
    self.rtmpDomain = [dictionary objectForKey:@"rtmpDomain"];
    self.rtmpCname = [dictionary objectForKey:@"rtmpCname"];
    self.hdlDomain = [dictionary objectForKey:@"hdlDomain"];
    self.hdlCname = [dictionary objectForKey:@"hdlCname"];
    self.hlsDomain = [dictionary objectForKey:@"hlsDomain"];
    self.hlsCname = [dictionary objectForKey:@"hlsCname"];
    self.forwardCustomVhost = [dictionary objectForKey:@"forwardCustomVhost"];
    self.flvUrls = [dictionary objectForKey:@"flvUrls"];
    self.hlsUrls = [dictionary objectForKey:@"hlsUrls"];
    self.rtmpUrls = [dictionary objectForKey:@"rtmpUrls"];
    NSArray* protocolConvertsArray = [dictionary objectForKey:@"protocolConverts"];
    if(protocolConvertsArray&&![protocolConvertsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [protocolConvertsArray count];i++)
        {
        ProtocolConvert* item = [[ProtocolConvert alloc]initWithDic:[protocolConvertsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.protocolConverts = propertyArray;
    }
    self.certificate = [dictionary objectForKey:@"certificate"];
    self.rsaKey = [dictionary objectForKey:@"rsaKey"];
    self.accesskeyType = [dictionary objectForKey:@"accesskeyType"];
    self.accesskeyKey = [dictionary objectForKey:@"accesskeyKey"];
    self.playAuthLifeTime = [dictionary objectForKey:@"playAuthLifeTime"];
    self.authLifeTime = [dictionary objectForKey:@"authLifeTime"];
    self.forwardAccessKeyType = [dictionary objectForKey:@"forwardAccessKeyType"];
    self.forwardPrivateKey = [dictionary objectForKey:@"forwardPrivateKey"];
    self.originAccessKeyType = [dictionary objectForKey:@"originAccessKeyType"];
    self.originPrivateKey = [dictionary objectForKey:@"originPrivateKey"];
    self.allowApps = [dictionary objectForKey:@"allowApps"];
    self.ips = [dictionary objectForKey:@"ips"];
    self.blackIpsEnable = [dictionary objectForKey:@"blackIpsEnable"];
    self.externId = [dictionary objectForKey:@"externId"];
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.referType = [dictionary objectForKey:@"referType"];
    self.referList = [dictionary objectForKey:@"referList"];
    self.allowNoReferHeader = [dictionary objectForKey:@"allowNoReferHeader"];
    self.allowNullReferHeader = [dictionary objectForKey:@"allowNullReferHeader"];
    self.publishNormalTimeout = [dictionary objectForKey:@"publishNormalTimeout"];
    self.notifyCustomUrl = [dictionary objectForKey:@"notifyCustomUrl"];
    self.notifyCustomAuthKey = [dictionary objectForKey:@"notifyCustomAuthKey"];
    self.certFrom = [dictionary objectForKey:@"certFrom"];
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.certName = [dictionary objectForKey:@"certName"];
    self.certType = [dictionary objectForKey:@"certType"];
    self.sslCertStartTime = [dictionary objectForKey:@"sslCertStartTime"];
    self.sslCertEndTime = [dictionary objectForKey:@"sslCertEndTime"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
} 

@end
  
@implementation CdnBatchCreateLiveDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnBatchCreateLiveDomainResult* result = [[CdnBatchCreateLiveDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnBatchCreateLiveDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryLiveDomainDetailResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLiveDomainDetailResult* result = [[CdnQueryLiveDomainDetailResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLiveDomainDetailResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDescribebindedDomainsResult
-(id) initWithRelatedDomainList:(NSArray<RelatedDomains*>*) relatedDomainList { 
    self.relatedDomainList = relatedDomainList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self relatedDomainList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self relatedDomainList] count]; i++) {
            RelatedDomains* item = [[self relatedDomainList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"relatedDomainList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* relatedDomainListArray = [dictionary objectForKey:@"relatedDomainList"];
    if(relatedDomainListArray&&![relatedDomainListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [relatedDomainListArray count];i++)
        {
        RelatedDomains* item = [[RelatedDomains alloc]initWithDic:[relatedDomainListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.relatedDomainList = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnDescribebindedDomainsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDescribebindedDomainsResult* result = [[CdnDescribebindedDomainsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDescribebindedDomainsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnBatchCreateLiveDomainRequest
-(id) initWithRegion:(NSString *)regionId
playDomain:(NSString*)playDomain
publishDomain:(NSString*)publishDomain
sourceType:(NSString*)sourceType
backHttpType:(NSString*)backHttpType
defaultSourceHost:(NSString*)defaultSourceHost
siteType:(NSString*)siteType
backSourceType:(NSString*)backSourceType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
accelerateRegion:(NSString*)accelerateRegion { 
    self.regionId = regionId;
    self.playDomain = playDomain;
    self.publishDomain = publishDomain;
    self.sourceType = sourceType;
    self.backHttpType = backHttpType;
    self.defaultSourceHost = defaultSourceHost;
    self.siteType = siteType;
    self.backSourceType = backSourceType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.accelerateRegion = accelerateRegion;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
playDomain:(NSString*)playDomain
publishDomain:(NSString*)publishDomain
sourceType:(NSString*)sourceType
backHttpType:(NSString*)backHttpType
defaultSourceHost:(NSString*)defaultSourceHost
siteType:(NSString*)siteType
backSourceType:(NSString*)backSourceType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
accelerateRegion:(NSString*)accelerateRegion { 
    self.regionId = regionId;
    self.version = version;
    self.playDomain = playDomain;
    self.publishDomain = publishDomain;
    self.sourceType = sourceType;
    self.backHttpType = backHttpType;
    self.defaultSourceHost = defaultSourceHost;
    self.siteType = siteType;
    self.backSourceType = backSourceType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.accelerateRegion = accelerateRegion;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self playDomain])
    {
        [result setValue:[self playDomain] forKey:@"playDomain"];
    }
    if([self publishDomain])
    {
        [result setValue:[self publishDomain] forKey:@"publishDomain"];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backHttpType])
    {
        [result setValue:[self backHttpType] forKey:@"backHttpType"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self siteType])
    {
        [result setValue:[self siteType] forKey:@"siteType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self ipSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domainSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.playDomain = [dictionary objectForKey:@"playDomain"];
    self.publishDomain = [dictionary objectForKey:@"publishDomain"];
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backHttpType = [dictionary objectForKey:@"backHttpType"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.siteType = [dictionary objectForKey:@"siteType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
        IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
        DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
} 

@end
  
@implementation CdnDescribePublishDomainsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDescribePublishDomainsResult* result = [[CdnDescribePublishDomainsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDescribePublishDomainsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryLiveDomainDetailV2Response
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLiveDomainDetailV2Result* result = [[CdnQueryLiveDomainDetailV2Result alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLiveDomainDetailV2Result*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateLiveDomainRequest
-(id) initWithRegion:(NSString *)regionId
playDomain:(NSString*)playDomain
publishDomain:(NSString*)publishDomain
sourceType:(NSString*)sourceType
backHttpType:(NSString*)backHttpType
defaultSourceHost:(NSString*)defaultSourceHost
siteType:(NSString*)siteType
backSourceType:(NSString*)backSourceType
playProtocol:(NSArray<NSString*>*)playProtocol
forwardCustomVhost:(NSString*)forwardCustomVhost
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
videoType:(NSString*)videoType
audioType:(NSString*)audioType { 
    self.regionId = regionId;
    self.playDomain = playDomain;
    self.publishDomain = publishDomain;
    self.sourceType = sourceType;
    self.backHttpType = backHttpType;
    self.defaultSourceHost = defaultSourceHost;
    self.siteType = siteType;
    self.backSourceType = backSourceType;
    self.playProtocol = playProtocol;
    self.forwardCustomVhost = forwardCustomVhost;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.videoType = videoType;
    self.audioType = audioType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
playDomain:(NSString*)playDomain
publishDomain:(NSString*)publishDomain
sourceType:(NSString*)sourceType
backHttpType:(NSString*)backHttpType
defaultSourceHost:(NSString*)defaultSourceHost
siteType:(NSString*)siteType
backSourceType:(NSString*)backSourceType
playProtocol:(NSArray<NSString*>*)playProtocol
forwardCustomVhost:(NSString*)forwardCustomVhost
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
videoType:(NSString*)videoType
audioType:(NSString*)audioType { 
    self.regionId = regionId;
    self.version = version;
    self.playDomain = playDomain;
    self.publishDomain = publishDomain;
    self.sourceType = sourceType;
    self.backHttpType = backHttpType;
    self.defaultSourceHost = defaultSourceHost;
    self.siteType = siteType;
    self.backSourceType = backSourceType;
    self.playProtocol = playProtocol;
    self.forwardCustomVhost = forwardCustomVhost;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.videoType = videoType;
    self.audioType = audioType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self playDomain])
    {
        [result setValue:[self playDomain] forKey:@"playDomain"];
    }
    if([self publishDomain])
    {
        [result setValue:[self publishDomain] forKey:@"publishDomain"];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backHttpType])
    {
        [result setValue:[self backHttpType] forKey:@"backHttpType"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self siteType])
    {
        [result setValue:[self siteType] forKey:@"siteType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self playProtocol])
    {
        [result setValue:[self playProtocol] forKey:@"playProtocol"];
    }
    if([self forwardCustomVhost])
    {
        [result setValue:[self forwardCustomVhost] forKey:@"forwardCustomVhost"];
    }
    if([self ipSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domainSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self videoType])
    {
        [result setValue:[self videoType] forKey:@"videoType"];
    }
    if([self audioType])
    {
        [result setValue:[self audioType] forKey:@"audioType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.playDomain = [dictionary objectForKey:@"playDomain"];
    self.publishDomain = [dictionary objectForKey:@"publishDomain"];
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backHttpType = [dictionary objectForKey:@"backHttpType"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.siteType = [dictionary objectForKey:@"siteType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.playProtocol = [dictionary objectForKey:@"playProtocol"];
    self.forwardCustomVhost = [dictionary objectForKey:@"forwardCustomVhost"];
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
        IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
        DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    self.videoType = [dictionary objectForKey:@"videoType"];
    self.audioType = [dictionary objectForKey:@"audioType"];
    return self;
} 

@end
@implementation CdnDescribePublishDomainsRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnModifyLiveDomainForwardCustomVhostResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnModifyLiveDomainForwardCustomVhostResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnModifyLiveDomainForwardCustomVhostResult* result = [[CdnModifyLiveDomainForwardCustomVhostResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnModifyLiveDomainForwardCustomVhostResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnStartDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryOssBucketsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryOssBucketsResult* result = [[CdnQueryOssBucketsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryOssBucketsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnBatchCreateResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnGetDomainListResult
-(id) initWithTotalCount:(NSNumber*) totalCount
        pageSize:(NSNumber*)pageSize
        pageNumber:(NSNumber*)pageNumber
        domains:(NSArray<ListDomainItem*>*)domains { 
    self.totalCount = totalCount;               
    self.pageSize = pageSize;               
    self.pageNumber = pageNumber;               
    self.domains = domains;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self domains])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domains] count]; i++) {
            ListDomainItem* item = [[self domains] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domains"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    NSArray* domainsArray = [dictionary objectForKey:@"domains"];
    if(domainsArray&&![domainsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainsArray count];i++)
        {
        ListDomainItem* item = [[ListDomainItem alloc]initWithDic:[domainsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domains = propertyArray;
    }
    return self;
} 

@end
@implementation CdnBatchCreateRequest
-(id) initWithRegion:(NSString *)regionId
domains:(NSArray<NSString*>*)domains
sourceType:(NSString*)sourceType
cdnType:(NSString*)cdnType
backSourceType:(NSString*)backSourceType
dailyBandWidth:(NSNumber*)dailyBandWidth
quaility:(NSString*)quaility
maxFileSize:(NSNumber*)maxFileSize
minFileSize:(NSNumber*)minFileSize
sumFileSize:(NSNumber*)sumFileSize
avgFileSize:(NSNumber*)avgFileSize
defaultSourceHost:(NSString*)defaultSourceHost
httpType:(NSString*)httpType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ossSource:(NSString*)ossSource
accelerateRegion:(NSString*)accelerateRegion { 
    self.regionId = regionId;
    self.domains = domains;
    self.sourceType = sourceType;
    self.cdnType = cdnType;
    self.backSourceType = backSourceType;
    self.dailyBandWidth = dailyBandWidth;
    self.quaility = quaility;
    self.maxFileSize = maxFileSize;
    self.minFileSize = minFileSize;
    self.sumFileSize = sumFileSize;
    self.avgFileSize = avgFileSize;
    self.defaultSourceHost = defaultSourceHost;
    self.httpType = httpType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.ossSource = ossSource;
    self.accelerateRegion = accelerateRegion;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
domains:(NSArray<NSString*>*)domains
sourceType:(NSString*)sourceType
cdnType:(NSString*)cdnType
backSourceType:(NSString*)backSourceType
dailyBandWidth:(NSNumber*)dailyBandWidth
quaility:(NSString*)quaility
maxFileSize:(NSNumber*)maxFileSize
minFileSize:(NSNumber*)minFileSize
sumFileSize:(NSNumber*)sumFileSize
avgFileSize:(NSNumber*)avgFileSize
defaultSourceHost:(NSString*)defaultSourceHost
httpType:(NSString*)httpType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ossSource:(NSString*)ossSource
accelerateRegion:(NSString*)accelerateRegion { 
    self.regionId = regionId;
    self.version = version;
    self.domains = domains;
    self.sourceType = sourceType;
    self.cdnType = cdnType;
    self.backSourceType = backSourceType;
    self.dailyBandWidth = dailyBandWidth;
    self.quaility = quaility;
    self.maxFileSize = maxFileSize;
    self.minFileSize = minFileSize;
    self.sumFileSize = sumFileSize;
    self.avgFileSize = avgFileSize;
    self.defaultSourceHost = defaultSourceHost;
    self.httpType = httpType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.ossSource = ossSource;
    self.accelerateRegion = accelerateRegion;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self cdnType])
    {
        [result setValue:[self cdnType] forKey:@"cdnType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self dailyBandWidth])
    {
        [result setValue:[self dailyBandWidth] forKey:@"dailyBandWidth"];
    }
    if([self quaility])
    {
        [result setValue:[self quaility] forKey:@"quaility"];
    }
    if([self maxFileSize])
    {
        [result setValue:[self maxFileSize] forKey:@"maxFileSize"];
    }
    if([self minFileSize])
    {
        [result setValue:[self minFileSize] forKey:@"minFileSize"];
    }
    if([self sumFileSize])
    {
        [result setValue:[self sumFileSize] forKey:@"sumFileSize"];
    }
    if([self avgFileSize])
    {
        [result setValue:[self avgFileSize] forKey:@"avgFileSize"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self httpType])
    {
        [result setValue:[self httpType] forKey:@"httpType"];
    }
    if([self ipSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domainSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self ossSource])
    {
        [result setValue:[self ossSource] forKey:@"ossSource"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domains = [dictionary objectForKey:@"domains"];
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.cdnType = [dictionary objectForKey:@"cdnType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.dailyBandWidth = [dictionary objectForKey:@"dailyBandWidth"];
    self.quaility = [dictionary objectForKey:@"quaility"];
    self.maxFileSize = [dictionary objectForKey:@"maxFileSize"];
    self.minFileSize = [dictionary objectForKey:@"minFileSize"];
    self.sumFileSize = [dictionary objectForKey:@"sumFileSize"];
    self.avgFileSize = [dictionary objectForKey:@"avgFileSize"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.httpType = [dictionary objectForKey:@"httpType"];
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
        IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
        DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    self.ossSource = [dictionary objectForKey:@"ossSource"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
} 

@end
  
@implementation CdnBatchCreateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnBatchCreateResult* result = [[CdnBatchCreateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnBatchCreateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryOssBucketsRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnStopDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnStopDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnStopDomainResult* result = [[CdnStopDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnStopDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnGetDomainListByFilterRequest
-(id) initWithRegion:(NSString *)regionId
keyWord:(NSString*)keyWord
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
type:(NSString*)type
accelerateRegion:(NSString*)accelerateRegion
tagFilters:(NSArray<CdnTagFilter*>*)tagFilters { 
    self.regionId = regionId;
    self.keyWord = keyWord;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.status = status;
    self.type = type;
    self.accelerateRegion = accelerateRegion;
    self.tagFilters = tagFilters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyWord:(NSString*)keyWord
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
type:(NSString*)type
accelerateRegion:(NSString*)accelerateRegion
tagFilters:(NSArray<CdnTagFilter*>*)tagFilters { 
    self.regionId = regionId;
    self.version = version;
    self.keyWord = keyWord;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.status = status;
    self.type = type;
    self.accelerateRegion = accelerateRegion;
    self.tagFilters = tagFilters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keyWord])
    {
        [result setValue:[self keyWord] forKey:@"keyWord"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    if([self tagFilters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self tagFilters] count]; i++) {
            CdnTagFilter* item = [[self tagFilters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tagFilters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyWord = [dictionary objectForKey:@"keyWord"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.status = [dictionary objectForKey:@"status"];
    self.type = [dictionary objectForKey:@"type"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    NSArray* tagFiltersArray = [dictionary objectForKey:@"tagFilters"];
    if(tagFiltersArray&&![tagFiltersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagFiltersArray count];i++)
        {
        CdnTagFilter* item = [[CdnTagFilter alloc]initWithDic:[tagFiltersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.tagFilters = propertyArray;
    }
    return self;
} 

@end
@implementation CdnGetDomainDetailResult
-(id) initWithAllStatus:(NSString*) allStatus
        allowNoReferHeader:(NSString*)allowNoReferHeader
        allowNullReferHeader:(NSString*)allowNullReferHeader
        dailyBandWidth:(NSNumber*)dailyBandWidth
        forbiddenType:(NSString*)forbiddenType
        maxFileSize:(NSNumber*)maxFileSize
        minFileSize:(NSNumber*)minFileSize
        sumFileSize:(NSNumber*)sumFileSize
        avgFileSize:(NSNumber*)avgFileSize
        referList:(NSArray<NSString*>*)referList
        referType:(NSString*)referType
        domain:(NSString*)domain
        cname:(NSString*)cname
        archiveNo:(NSString*)archiveNo
        type:(NSString*)type
        created:(NSString*)created
        modified:(NSString*)modified
        status:(NSString*)status
        auditStatus:(NSString*)auditStatus
        source:(BackSourceInfo*)source
        sourceType:(NSString*)sourceType
        defaultSourceHost:(NSString*)defaultSourceHost
        backSourceType:(NSString*)backSourceType
        httpType:(NSString*)httpType
        certificate:(NSString*)certificate
        rsaKey:(NSString*)rsaKey
        jumpType:(NSString*)jumpType
        certFrom:(NSString*)certFrom
        sslCertId:(NSString*)sslCertId
        certName:(NSString*)certName
        certType:(NSString*)certType
        sslCertStartTime:(NSString*)sslCertStartTime
        sslCertEndTime:(NSString*)sslCertEndTime
        accelerateRegion:(NSString*)accelerateRegion { 
    self.allStatus = allStatus;               
    self.allowNoReferHeader = allowNoReferHeader;               
    self.allowNullReferHeader = allowNullReferHeader;               
    self.dailyBandWidth = dailyBandWidth;               
    self.forbiddenType = forbiddenType;               
    self.maxFileSize = maxFileSize;               
    self.minFileSize = minFileSize;               
    self.sumFileSize = sumFileSize;               
    self.avgFileSize = avgFileSize;               
    self.referList = referList;               
    self.referType = referType;               
    self.domain = domain;               
    self.cname = cname;               
    self.archiveNo = archiveNo;               
    self.type = type;               
    self.created = created;               
    self.modified = modified;               
    self.status = status;               
    self.auditStatus = auditStatus;               
    self.source = source;               
    self.sourceType = sourceType;               
    self.defaultSourceHost = defaultSourceHost;               
    self.backSourceType = backSourceType;               
    self.httpType = httpType;               
    self.certificate = certificate;               
    self.rsaKey = rsaKey;               
    self.jumpType = jumpType;               
    self.certFrom = certFrom;               
    self.sslCertId = sslCertId;               
    self.certName = certName;               
    self.certType = certType;               
    self.sslCertStartTime = sslCertStartTime;               
    self.sslCertEndTime = sslCertEndTime;               
    self.accelerateRegion = accelerateRegion;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self allStatus])
    {
        [result setValue:[self allStatus] forKey:@"allStatus"];
    }
    if([self allowNoReferHeader])
    {
        [result setValue:[self allowNoReferHeader] forKey:@"allowNoReferHeader"];
    }
    if([self allowNullReferHeader])
    {
        [result setValue:[self allowNullReferHeader] forKey:@"allowNullReferHeader"];
    }
    if([self dailyBandWidth])
    {
        [result setValue:[self dailyBandWidth] forKey:@"dailyBandWidth"];
    }
    if([self forbiddenType])
    {
        [result setValue:[self forbiddenType] forKey:@"forbiddenType"];
    }
    if([self maxFileSize])
    {
        [result setValue:[self maxFileSize] forKey:@"maxFileSize"];
    }
    if([self minFileSize])
    {
        [result setValue:[self minFileSize] forKey:@"minFileSize"];
    }
    if([self sumFileSize])
    {
        [result setValue:[self sumFileSize] forKey:@"sumFileSize"];
    }
    if([self avgFileSize])
    {
        [result setValue:[self avgFileSize] forKey:@"avgFileSize"];
    }
    if([self referList])
    {
        [result setValue:[self referList] forKey:@"referList"];
    }
    if([self referType])
    {
        [result setValue:[self referType] forKey:@"referType"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self cname])
    {
        [result setValue:[self cname] forKey:@"cname"];
    }
    if([self archiveNo])
    {
        [result setValue:[self archiveNo] forKey:@"archiveNo"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self created])
    {
        [result setValue:[self created] forKey:@"created"];
    }
    if([self modified])
    {
        [result setValue:[self modified] forKey:@"modified"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self auditStatus])
    {
        [result setValue:[self auditStatus] forKey:@"auditStatus"];
    }
    if([self source])
    {
        [result setValue:[[self source] dictionary]forKey:@"source"];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self httpType])
    {
        [result setValue:[self httpType] forKey:@"httpType"];
    }
    if([self certificate])
    {
        [result setValue:[self certificate] forKey:@"certificate"];
    }
    if([self rsaKey])
    {
        [result setValue:[self rsaKey] forKey:@"rsaKey"];
    }
    if([self jumpType])
    {
        [result setValue:[self jumpType] forKey:@"jumpType"];
    }
    if([self certFrom])
    {
        [result setValue:[self certFrom] forKey:@"certFrom"];
    }
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self certType])
    {
        [result setValue:[self certType] forKey:@"certType"];
    }
    if([self sslCertStartTime])
    {
        [result setValue:[self sslCertStartTime] forKey:@"sslCertStartTime"];
    }
    if([self sslCertEndTime])
    {
        [result setValue:[self sslCertEndTime] forKey:@"sslCertEndTime"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.allStatus = [dictionary objectForKey:@"allStatus"];
    self.allowNoReferHeader = [dictionary objectForKey:@"allowNoReferHeader"];
    self.allowNullReferHeader = [dictionary objectForKey:@"allowNullReferHeader"];
    self.dailyBandWidth = [dictionary objectForKey:@"dailyBandWidth"];
    self.forbiddenType = [dictionary objectForKey:@"forbiddenType"];
    self.maxFileSize = [dictionary objectForKey:@"maxFileSize"];
    self.minFileSize = [dictionary objectForKey:@"minFileSize"];
    self.sumFileSize = [dictionary objectForKey:@"sumFileSize"];
    self.avgFileSize = [dictionary objectForKey:@"avgFileSize"];
    self.referList = [dictionary objectForKey:@"referList"];
    self.referType = [dictionary objectForKey:@"referType"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.cname = [dictionary objectForKey:@"cname"];
    self.archiveNo = [dictionary objectForKey:@"archiveNo"];
    self.type = [dictionary objectForKey:@"type"];
    self.created = [dictionary objectForKey:@"created"];
    self.modified = [dictionary objectForKey:@"modified"];
    self.status = [dictionary objectForKey:@"status"];
    self.auditStatus = [dictionary objectForKey:@"auditStatus"];
    self.source = [[BackSourceInfo alloc]initWithDic:[dictionary objectForKey:@"source"]];
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.httpType = [dictionary objectForKey:@"httpType"];
    self.certificate = [dictionary objectForKey:@"certificate"];
    self.rsaKey = [dictionary objectForKey:@"rsaKey"];
    self.jumpType = [dictionary objectForKey:@"jumpType"];
    self.certFrom = [dictionary objectForKey:@"certFrom"];
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.certName = [dictionary objectForKey:@"certName"];
    self.certType = [dictionary objectForKey:@"certType"];
    self.sslCertStartTime = [dictionary objectForKey:@"sslCertStartTime"];
    self.sslCertEndTime = [dictionary objectForKey:@"sslCertEndTime"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
} 

@end
  
@implementation CdnGetDomainListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnGetDomainListResult* result = [[CdnGetDomainListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnGetDomainListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnGetDomainDetailResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnGetDomainDetailResult* result = [[CdnGetDomainDetailResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnGetDomainDetailResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryDomainConfigResult
-(id) initWithIgnoreQueryString:(NSString*) ignoreQueryString
        range:(NSString*)range
        httpType:(NSString*)httpType
        httpsCertificate:(NSString*)httpsCertificate
        httpsRsaKey:(NSString*)httpsRsaKey
        httpsJumpType:(NSString*)httpsJumpType
        videoDraft:(NSString*)videoDraft
        groupName:(NSString*)groupName
        shareId:(NSNumber*)shareId
        shareName:(NSString*)shareName
        jcdnTimeAnti:(NSString*)jcdnTimeAnti
        shareCache:(NSString*)shareCache
        isShareOpen:(NSString*)isShareOpen
        cacheRules:(NSArray<CacheRule*>*)cacheRules { 
    self.ignoreQueryString = ignoreQueryString;               
    self.range = range;               
    self.httpType = httpType;               
    self.httpsCertificate = httpsCertificate;               
    self.httpsRsaKey = httpsRsaKey;               
    self.httpsJumpType = httpsJumpType;               
    self.videoDraft = videoDraft;               
    self.groupName = groupName;               
    self.shareId = shareId;               
    self.shareName = shareName;               
    self.jcdnTimeAnti = jcdnTimeAnti;               
    self.shareCache = shareCache;               
    self.isShareOpen = isShareOpen;               
    self.cacheRules = cacheRules;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ignoreQueryString])
    {
        [result setValue:[self ignoreQueryString] forKey:@"ignoreQueryString"];
    }
    if([self range])
    {
        [result setValue:[self range] forKey:@"range"];
    }
    if([self httpType])
    {
        [result setValue:[self httpType] forKey:@"httpType"];
    }
    if([self httpsCertificate])
    {
        [result setValue:[self httpsCertificate] forKey:@"httpsCertificate"];
    }
    if([self httpsRsaKey])
    {
        [result setValue:[self httpsRsaKey] forKey:@"httpsRsaKey"];
    }
    if([self httpsJumpType])
    {
        [result setValue:[self httpsJumpType] forKey:@"httpsJumpType"];
    }
    if([self videoDraft])
    {
        [result setValue:[self videoDraft] forKey:@"videoDraft"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self shareId])
    {
        [result setValue:[self shareId] forKey:@"shareId"];
    }
    if([self shareName])
    {
        [result setValue:[self shareName] forKey:@"shareName"];
    }
    if([self jcdnTimeAnti])
    {
        [result setValue:[self jcdnTimeAnti] forKey:@"jcdnTimeAnti"];
    }
    if([self shareCache])
    {
        [result setValue:[self shareCache] forKey:@"shareCache"];
    }
    if([self isShareOpen])
    {
        [result setValue:[self isShareOpen] forKey:@"isShareOpen"];
    }
    if([self cacheRules])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self cacheRules] count]; i++) {
            CacheRule* item = [[self cacheRules] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"cacheRules"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ignoreQueryString = [dictionary objectForKey:@"ignoreQueryString"];
    self.range = [dictionary objectForKey:@"range"];
    self.httpType = [dictionary objectForKey:@"httpType"];
    self.httpsCertificate = [dictionary objectForKey:@"httpsCertificate"];
    self.httpsRsaKey = [dictionary objectForKey:@"httpsRsaKey"];
    self.httpsJumpType = [dictionary objectForKey:@"httpsJumpType"];
    self.videoDraft = [dictionary objectForKey:@"videoDraft"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.shareId = [dictionary objectForKey:@"shareId"];
    self.shareName = [dictionary objectForKey:@"shareName"];
    self.jcdnTimeAnti = [dictionary objectForKey:@"jcdnTimeAnti"];
    self.shareCache = [dictionary objectForKey:@"shareCache"];
    self.isShareOpen = [dictionary objectForKey:@"isShareOpen"];
    NSArray* cacheRulesArray = [dictionary objectForKey:@"cacheRules"];
    if(cacheRulesArray&&![cacheRulesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [cacheRulesArray count];i++)
        {
        CacheRule* item = [[CacheRule alloc]initWithDic:[cacheRulesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.cacheRules = propertyArray;
    }
    return self;
} 

@end
@implementation CdnDeleteDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnStartDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnStartDomainResult* result = [[CdnStartDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnStartDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateDomainRequest
-(id) initWithRegion:(NSString *)regionId
sourceType:(NSString*)sourceType
cdnType:(NSString*)cdnType
backSourceType:(NSString*)backSourceType
dailyBandWidth:(NSNumber*)dailyBandWidth
quaility:(NSString*)quaility
maxFileSize:(NSNumber*)maxFileSize
minFileSize:(NSNumber*)minFileSize
sumFileSize:(NSNumber*)sumFileSize
avgFileSize:(NSNumber*)avgFileSize
defaultSourceHost:(NSString*)defaultSourceHost
httpType:(NSString*)httpType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ossSource:(NSString*)ossSource
accelerateRegion:(NSString*)accelerateRegion
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.sourceType = sourceType;
    self.cdnType = cdnType;
    self.backSourceType = backSourceType;
    self.dailyBandWidth = dailyBandWidth;
    self.quaility = quaility;
    self.maxFileSize = maxFileSize;
    self.minFileSize = minFileSize;
    self.sumFileSize = sumFileSize;
    self.avgFileSize = avgFileSize;
    self.defaultSourceHost = defaultSourceHost;
    self.httpType = httpType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.ossSource = ossSource;
    self.accelerateRegion = accelerateRegion;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sourceType:(NSString*)sourceType
cdnType:(NSString*)cdnType
backSourceType:(NSString*)backSourceType
dailyBandWidth:(NSNumber*)dailyBandWidth
quaility:(NSString*)quaility
maxFileSize:(NSNumber*)maxFileSize
minFileSize:(NSNumber*)minFileSize
sumFileSize:(NSNumber*)sumFileSize
avgFileSize:(NSNumber*)avgFileSize
defaultSourceHost:(NSString*)defaultSourceHost
httpType:(NSString*)httpType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ossSource:(NSString*)ossSource
accelerateRegion:(NSString*)accelerateRegion
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.sourceType = sourceType;
    self.cdnType = cdnType;
    self.backSourceType = backSourceType;
    self.dailyBandWidth = dailyBandWidth;
    self.quaility = quaility;
    self.maxFileSize = maxFileSize;
    self.minFileSize = minFileSize;
    self.sumFileSize = sumFileSize;
    self.avgFileSize = avgFileSize;
    self.defaultSourceHost = defaultSourceHost;
    self.httpType = httpType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.ossSource = ossSource;
    self.accelerateRegion = accelerateRegion;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self cdnType])
    {
        [result setValue:[self cdnType] forKey:@"cdnType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self dailyBandWidth])
    {
        [result setValue:[self dailyBandWidth] forKey:@"dailyBandWidth"];
    }
    if([self quaility])
    {
        [result setValue:[self quaility] forKey:@"quaility"];
    }
    if([self maxFileSize])
    {
        [result setValue:[self maxFileSize] forKey:@"maxFileSize"];
    }
    if([self minFileSize])
    {
        [result setValue:[self minFileSize] forKey:@"minFileSize"];
    }
    if([self sumFileSize])
    {
        [result setValue:[self sumFileSize] forKey:@"sumFileSize"];
    }
    if([self avgFileSize])
    {
        [result setValue:[self avgFileSize] forKey:@"avgFileSize"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self httpType])
    {
        [result setValue:[self httpType] forKey:@"httpType"];
    }
    if([self ipSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domainSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self ossSource])
    {
        [result setValue:[self ossSource] forKey:@"ossSource"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.cdnType = [dictionary objectForKey:@"cdnType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    self.dailyBandWidth = [dictionary objectForKey:@"dailyBandWidth"];
    self.quaility = [dictionary objectForKey:@"quaility"];
    self.maxFileSize = [dictionary objectForKey:@"maxFileSize"];
    self.minFileSize = [dictionary objectForKey:@"minFileSize"];
    self.sumFileSize = [dictionary objectForKey:@"sumFileSize"];
    self.avgFileSize = [dictionary objectForKey:@"avgFileSize"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.httpType = [dictionary objectForKey:@"httpType"];
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
        IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
        DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    self.ossSource = [dictionary objectForKey:@"ossSource"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
  
@implementation CdnDeleteDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteDomainResult* result = [[CdnDeleteDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateDomainResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryDomainConfigResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainConfigResult* result = [[CdnQueryDomainConfigResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainConfigResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateDomainResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateDomainResult* result = [[CdnCreateDomainResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateDomainResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnGetDomainListByFilterResult
-(id) initWithTotalCount:(NSNumber*) totalCount
        pageSize:(NSNumber*)pageSize
        pageNumber:(NSNumber*)pageNumber
        domains:(NSArray<ListDomainItemByFilter*>*)domains { 
    self.totalCount = totalCount;               
    self.pageSize = pageSize;               
    self.pageNumber = pageNumber;               
    self.domains = domains;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self domains])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domains] count]; i++) {
            ListDomainItemByFilter* item = [[self domains] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domains"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    NSArray* domainsArray = [dictionary objectForKey:@"domains"];
    if(domainsArray&&![domainsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainsArray count];i++)
        {
        ListDomainItemByFilter* item = [[ListDomainItemByFilter alloc]initWithDic:[domainsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domains = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnGetDomainListByFilterResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnGetDomainListByFilterResult* result = [[CdnGetDomainListByFilterResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnGetDomainListByFilterResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnGetSslCertDetailResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnGetSslCertDetailResult* result = [[CdnGetSslCertDetailResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnGetSslCertDetailResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnUploadCertResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUploadCertResult* result = [[CdnUploadCertResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUploadCertResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnGetSslCertListResult
-(id) initWithCertList:(NSArray<SslCertModel*>*) certList
        totalCount:(NSNumber*)totalCount { 
    self.certList = certList;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self certList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self certList] count]; i++) {
            SslCertModel* item = [[self certList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"certList"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* certListArray = [dictionary objectForKey:@"certList"];
    if(certListArray&&![certListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [certListArray count];i++)
        {
        SslCertModel* item = [[SslCertModel alloc]initWithDic:[certListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.certList = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation CdnGetSslCertListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnGetSslCertListResult* result = [[CdnGetSslCertListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnGetSslCertListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateRefreshTaskForCallbackV2Response
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateRefreshTaskForCallbackV2Result* result = [[CdnCreateRefreshTaskForCallbackV2Result alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateRefreshTaskForCallbackV2Result*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateRefreshTaskResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateRefreshTaskResult* result = [[CdnCreateRefreshTaskResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateRefreshTaskResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateRefreshTaskForCallbackResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateRefreshTaskForCallbackResult* result = [[CdnCreateRefreshTaskForCallbackResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateRefreshTaskForCallbackResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryRefreshTaskByIdResult
-(id) initWithTask:(RefreshTask*) task { 
    self.task = task;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[RefreshTask alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
} 

@end
  
@implementation CdnQueryRefreshTaskByIdResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryRefreshTaskByIdResult* result = [[CdnQueryRefreshTaskByIdResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryRefreshTaskByIdResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryRefreshTaskResult
-(id) initWithTotal:(NSNumber*) total
        tasks:(NSArray<RefreshTask*>*)tasks { 
    self.total = total;               
    self.tasks = tasks;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    if([self tasks])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self tasks] count]; i++) {
            RefreshTask* item = [[self tasks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tasks"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.total = [dictionary objectForKey:@"total"];
    NSArray* tasksArray = [dictionary objectForKey:@"tasks"];
    if(tasksArray&&![tasksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tasksArray count];i++)
        {
        RefreshTask* item = [[RefreshTask alloc]initWithDic:[tasksArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.tasks = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryRefreshTaskResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryRefreshTaskResult* result = [[CdnQueryRefreshTaskResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryRefreshTaskResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateRefreshTaskForCallbackRequest
-(id) initWithRegion:(NSString *)regionId
taskType:(NSString*)taskType
urlItems:(NSArray<UrlItem*>*)urlItems { 
    self.regionId = regionId;
    self.taskType = taskType;
    self.urlItems = urlItems;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskType:(NSString*)taskType
urlItems:(NSArray<UrlItem*>*)urlItems { 
    self.regionId = regionId;
    self.version = version;
    self.taskType = taskType;
    self.urlItems = urlItems;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskType])
    {
        [result setValue:[self taskType] forKey:@"taskType"];
    }
    if([self urlItems])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self urlItems] count]; i++) {
            UrlItem* item = [[self urlItems] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urlItems"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskType = [dictionary objectForKey:@"taskType"];
    NSArray* urlItemsArray = [dictionary objectForKey:@"urlItems"];
    if(urlItemsArray&&![urlItemsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlItemsArray count];i++)
        {
        UrlItem* item = [[UrlItem alloc]initWithDic:[urlItemsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.urlItems = propertyArray;
    }
    return self;
} 

@end
@implementation CdnCreateRefreshTaskForCallbackV2Request
-(id) initWithRegion:(NSString *)regionId
taskType:(NSString*)taskType
urlItems:(NSArray<UrlItemV2*>*)urlItems { 
    self.regionId = regionId;
    self.taskType = taskType;
    self.urlItems = urlItems;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskType:(NSString*)taskType
urlItems:(NSArray<UrlItemV2*>*)urlItems { 
    self.regionId = regionId;
    self.version = version;
    self.taskType = taskType;
    self.urlItems = urlItems;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskType])
    {
        [result setValue:[self taskType] forKey:@"taskType"];
    }
    if([self urlItems])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self urlItems] count]; i++) {
            UrlItemV2* item = [[self urlItems] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urlItems"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskType = [dictionary objectForKey:@"taskType"];
    NSArray* urlItemsArray = [dictionary objectForKey:@"urlItems"];
    if(urlItemsArray&&![urlItemsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlItemsArray count];i++)
        {
        UrlItemV2* item = [[UrlItemV2 alloc]initWithDic:[urlItemsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.urlItems = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryRefreshTaskByIdsResult
-(id) initWithTasks:(NSArray<RefreshTask*>*) tasks { 
    self.tasks = tasks;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self tasks])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self tasks] count]; i++) {
            RefreshTask* item = [[self tasks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tasks"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* tasksArray = [dictionary objectForKey:@"tasks"];
    if(tasksArray&&![tasksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tasksArray count];i++)
        {
        RefreshTask* item = [[RefreshTask alloc]initWithDic:[tasksArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.tasks = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryRefreshTaskByIdsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryRefreshTaskByIdsResult* result = [[CdnQueryRefreshTaskByIdsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryRefreshTaskByIdsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateDomainGroupResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnQueryDomainsNotInGroupRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryDomainGroupDetailResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainGroupDetailResult* result = [[CdnQueryDomainGroupDetailResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainGroupDetailResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnUpdateDomainGroupResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnUpdateDomainGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUpdateDomainGroupResult* result = [[CdnUpdateDomainGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUpdateDomainGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryDomainGroupListResult
-(id) initWithTotalCount:(NSNumber*) totalCount
        pageSize:(NSNumber*)pageSize
        pageNumber:(NSNumber*)pageNumber
        domainGroups:(NSArray<DomainGroupItem*>*)domainGroups { 
    self.totalCount = totalCount;               
    self.pageSize = pageSize;               
    self.pageNumber = pageNumber;               
    self.domainGroups = domainGroups;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self domainGroups])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainGroups] count]; i++) {
            DomainGroupItem* item = [[self domainGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    NSArray* domainGroupsArray = [dictionary objectForKey:@"domainGroups"];
    if(domainGroupsArray&&![domainGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainGroupsArray count];i++)
        {
        DomainGroupItem* item = [[DomainGroupItem alloc]initWithDic:[domainGroupsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainGroups = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryDomainGroupListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainGroupListResult* result = [[CdnQueryDomainGroupListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainGroupListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryDomainsNotInGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainsNotInGroupResult* result = [[CdnQueryDomainsNotInGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainsNotInGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnBatchDeleteDomainGroupResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnBatchDeleteDomainGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnBatchDeleteDomainGroupResult* result = [[CdnBatchDeleteDomainGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnBatchDeleteDomainGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateDomainGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateDomainGroupResult* result = [[CdnCreateDomainGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateDomainGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnOperateShareCacheResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnOperateShareCacheResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnOperateShareCacheResult* result = [[CdnOperateShareCacheResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnOperateShareCacheResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetUserAgentConfigResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetUserAgentConfigResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetUserAgentConfigResult* result = [[CdnSetUserAgentConfigResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetUserAgentConfigResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetIpBlackListResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetIpBlackListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetIpBlackListResult* result = [[CdnSetIpBlackListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetIpBlackListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetRangeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetAccesskeyConfigResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnDeleteHttpHeaderResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetFollowSourceProtocolResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetFollowSourceProtocolResult* result = [[CdnSetFollowSourceProtocolResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetFollowSourceProtocolResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetFollowRedirectResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetReferResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnDeleteHttpHeaderResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteHttpHeaderResult* result = [[CdnDeleteHttpHeaderResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteHttpHeaderResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetHttpTypeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetHttpTypeResult* result = [[CdnSetHttpTypeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetHttpTypeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryUserAgentResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryUserAgentResult* result = [[CdnQueryUserAgentResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryUserAgentResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDeleteCacheRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetVideoDraftResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryAccesskeyConfigResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryAccesskeyConfigResult* result = [[CdnQueryAccesskeyConfigResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryAccesskeyConfigResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetIgnoreQueryStringResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetHttpHeaderResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetHttpHeaderResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetHttpHeaderResult* result = [[CdnSetHttpHeaderResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetHttpHeaderResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryHttpHeaderResult
-(id) initWithDomain:(NSString*) domain
        headers:(NSArray<QueryHttpHeaderResp*>*)headers { 
    self.domain = domain;               
    self.headers = headers;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self headers])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self headers] count]; i++) {
            QueryHttpHeaderResp* item = [[self headers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"headers"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* headersArray = [dictionary objectForKey:@"headers"];
    if(headersArray&&![headersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [headersArray count];i++)
        {
        QueryHttpHeaderResp* item = [[QueryHttpHeaderResp alloc]initWithDic:[headersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.headers = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryHttpHeaderResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryHttpHeaderResult* result = [[CdnQueryHttpHeaderResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryHttpHeaderResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnStopMonitorResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnStopMonitorResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnStopMonitorResult* result = [[CdnStopMonitorResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnStopMonitorResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnDeleteCacheRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteCacheRuleResult* result = [[CdnDeleteCacheRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteCacheRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetSourceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetSourceResult* result = [[CdnSetSourceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetSourceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnOperateIpBlackListResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnOperateIpBlackListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnOperateIpBlackListResult* result = [[CdnOperateIpBlackListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnOperateIpBlackListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryIpBlackListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryIpBlackListResult* result = [[CdnQueryIpBlackListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryIpBlackListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetMonitorResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetMonitorResult* result = [[CdnSetMonitorResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetMonitorResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetIgnoreQueryStringResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetIgnoreQueryStringResult* result = [[CdnSetIgnoreQueryStringResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetIgnoreQueryStringResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryMonitorResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryMonitorResult* result = [[CdnQueryMonitorResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryMonitorResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryDefaultHttpHeaderKeyRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetSourceRequest
-(id) initWithRegion:(NSString *)regionId
sourceType:(NSString*)sourceType
backSourceType:(NSString*)backSourceType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ossSource:(NSString*)ossSource
defaultSourceHost:(NSString*)defaultSourceHost
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.sourceType = sourceType;
    self.backSourceType = backSourceType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.ossSource = ossSource;
    self.defaultSourceHost = defaultSourceHost;
    self.domain = domain;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sourceType:(NSString*)sourceType
backSourceType:(NSString*)backSourceType
ipSource:(NSArray<IpSourceInfo*>*)ipSource
domainSource:(NSArray<DomainSourceInfo*>*)domainSource
ossSource:(NSString*)ossSource
defaultSourceHost:(NSString*)defaultSourceHost
domain:(NSString*)domain { 
    self.regionId = regionId;
    self.version = version;
    self.sourceType = sourceType;
    self.backSourceType = backSourceType;
    self.ipSource = ipSource;
    self.domainSource = domainSource;
    self.ossSource = ossSource;
    self.defaultSourceHost = defaultSourceHost;
    self.domain = domain;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self ipSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domainSource])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self ossSource])
    {
        [result setValue:[self ossSource] forKey:@"ossSource"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
        IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
        DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    self.ossSource = [dictionary objectForKey:@"ossSource"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
} 

@end
  
@implementation CdnQueryFollowRedirectResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryFollowRedirectResult* result = [[CdnQueryFollowRedirectResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryFollowRedirectResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnUpdateCacheRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnUpdateCacheRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUpdateCacheRuleResult* result = [[CdnUpdateCacheRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUpdateCacheRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetDomainConfigResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetDomainConfigResult* result = [[CdnSetDomainConfigResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetDomainConfigResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetReferResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetReferResult* result = [[CdnSetReferResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetReferResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetRangeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetRangeResult* result = [[CdnSetRangeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetRangeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateCacheRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateCacheRuleResult* result = [[CdnCreateCacheRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateCacheRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryDefaultHttpHeaderKeyResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDefaultHttpHeaderKeyResult* result = [[CdnQueryDefaultHttpHeaderKeyResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDefaultHttpHeaderKeyResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetAccesskeyConfigResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetAccesskeyConfigResult* result = [[CdnSetAccesskeyConfigResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetAccesskeyConfigResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetVideoDraftResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetVideoDraftResult* result = [[CdnSetVideoDraftResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetVideoDraftResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetFollowRedirectResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetFollowRedirectResult* result = [[CdnSetFollowRedirectResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetFollowRedirectResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryFollowSourceProtocolResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryFollowSourceProtocolResult* result = [[CdnQueryFollowSourceProtocolResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryFollowSourceProtocolResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnPreviewCertificateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnPreviewCertificateResult* result = [[CdnPreviewCertificateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnPreviewCertificateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryGeoAreasRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetNetProtectionRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetNetProtectionRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetNetProtectionRulesResult* result = [[CdnSetNetProtectionRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetNetProtectionRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSearchAttackLogResult
-(id) initWithCurrentCount:(NSNumber*) currentCount
        dataList:(NSArray<AttackLogRecord*>*)dataList
        totalCount:(NSNumber*)totalCount
        totalPage:(NSNumber*)totalPage { 
    self.currentCount = currentCount;               
    self.dataList = dataList;               
    self.totalCount = totalCount;               
    self.totalPage = totalPage;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self currentCount])
    {
        [result setValue:[self currentCount] forKey:@"currentCount"];
    }
    if([self dataList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self dataList] count]; i++) {
            AttackLogRecord* item = [[self dataList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataList"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    if([self totalPage])
    {
        [result setValue:[self totalPage] forKey:@"totalPage"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.currentCount = [dictionary objectForKey:@"currentCount"];
    NSArray* dataListArray = [dictionary objectForKey:@"dataList"];
    if(dataListArray&&![dataListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataListArray count];i++)
        {
        AttackLogRecord* item = [[AttackLogRecord alloc]initWithDic:[dataListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.dataList = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    self.totalPage = [dictionary objectForKey:@"totalPage"];
    return self;
} 

@end
  
@implementation CdnSearchAttackLogResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSearchAttackLogResult* result = [[CdnSearchAttackLogResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSearchAttackLogResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetNetProtectionRulesSwitchResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnQueryNetProtectionRulesSwitchRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnQueryAttackTypeCountResult
-(id) initWithAttackTypeCounts:(NSArray<AttackTypeCount*>*) attackTypeCounts { 
    self.attackTypeCounts = attackTypeCounts;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self attackTypeCounts])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self attackTypeCounts] count]; i++) {
            AttackTypeCount* item = [[self attackTypeCounts] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"attackTypeCounts"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* attackTypeCountsArray = [dictionary objectForKey:@"attackTypeCounts"];
    if(attackTypeCountsArray&&![attackTypeCountsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [attackTypeCountsArray count];i++)
        {
        AttackTypeCount* item = [[AttackTypeCount alloc]initWithDic:[attackTypeCountsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.attackTypeCounts = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryNetProtectionRulesRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetNetProtectionRulesSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetNetProtectionRulesSwitchResult* result = [[CdnSetNetProtectionRulesSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetNetProtectionRulesSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryAttackTypeCountResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryAttackTypeCountResult* result = [[CdnQueryAttackTypeCountResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryAttackTypeCountResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryGeoAreasResult
-(id) initWithGeoBlack:(NSArray<GeoArea*>*) geoBlack { 
    self.geoBlack = geoBlack;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self geoBlack])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self geoBlack] count]; i++) {
            GeoArea* item = [[self geoBlack] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"geoBlack"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* geoBlackArray = [dictionary objectForKey:@"geoBlack"];
    if(geoBlackArray&&![geoBlackArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [geoBlackArray count];i++)
        {
        GeoArea* item = [[GeoArea alloc]initWithDic:[geoBlackArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.geoBlack = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryNetProtectionRulesResult
-(id) initWithSwitchStatus:(NSString*) switchStatus
        srcNewConnLimitEnable:(NSString*)srcNewConnLimitEnable
        dstNewConnLimitEnable:(NSString*)dstNewConnLimitEnable
        datagramRangeMin:(NSNumber*)datagramRangeMin
        datagramRangeMax:(NSNumber*)datagramRangeMax
        srcNewConnLimitValue:(NSNumber*)srcNewConnLimitValue
        dstNewConnLimitValue:(NSNumber*)dstNewConnLimitValue
        geoBlack:(NSArray<GeoArea*>*)geoBlack
        ipBlack:(NSArray<NSString*>*)ipBlack
        ipWhite:(NSArray<NSString*>*)ipWhite { 
    self.switchStatus = switchStatus;               
    self.srcNewConnLimitEnable = srcNewConnLimitEnable;               
    self.dstNewConnLimitEnable = dstNewConnLimitEnable;               
    self.datagramRangeMin = datagramRangeMin;               
    self.datagramRangeMax = datagramRangeMax;               
    self.srcNewConnLimitValue = srcNewConnLimitValue;               
    self.dstNewConnLimitValue = dstNewConnLimitValue;               
    self.geoBlack = geoBlack;               
    self.ipBlack = ipBlack;               
    self.ipWhite = ipWhite;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self switchStatus])
    {
        [result setValue:[self switchStatus] forKey:@"switchStatus"];
    }
    if([self srcNewConnLimitEnable])
    {
        [result setValue:[self srcNewConnLimitEnable] forKey:@"srcNewConnLimitEnable"];
    }
    if([self dstNewConnLimitEnable])
    {
        [result setValue:[self dstNewConnLimitEnable] forKey:@"dstNewConnLimitEnable"];
    }
    if([self datagramRangeMin])
    {
        [result setValue:[self datagramRangeMin] forKey:@"datagramRangeMin"];
    }
    if([self datagramRangeMax])
    {
        [result setValue:[self datagramRangeMax] forKey:@"datagramRangeMax"];
    }
    if([self srcNewConnLimitValue])
    {
        [result setValue:[self srcNewConnLimitValue] forKey:@"srcNewConnLimitValue"];
    }
    if([self dstNewConnLimitValue])
    {
        [result setValue:[self dstNewConnLimitValue] forKey:@"dstNewConnLimitValue"];
    }
    if([self geoBlack])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self geoBlack] count]; i++) {
            GeoArea* item = [[self geoBlack] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"geoBlack"];
    }
    if([self ipBlack])
    {
        [result setValue:[self ipBlack] forKey:@"ipBlack"];
    }
    if([self ipWhite])
    {
        [result setValue:[self ipWhite] forKey:@"ipWhite"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.switchStatus = [dictionary objectForKey:@"switchStatus"];
    self.srcNewConnLimitEnable = [dictionary objectForKey:@"srcNewConnLimitEnable"];
    self.dstNewConnLimitEnable = [dictionary objectForKey:@"dstNewConnLimitEnable"];
    self.datagramRangeMin = [dictionary objectForKey:@"datagramRangeMin"];
    self.datagramRangeMax = [dictionary objectForKey:@"datagramRangeMax"];
    self.srcNewConnLimitValue = [dictionary objectForKey:@"srcNewConnLimitValue"];
    self.dstNewConnLimitValue = [dictionary objectForKey:@"dstNewConnLimitValue"];
    NSArray* geoBlackArray = [dictionary objectForKey:@"geoBlack"];
    if(geoBlackArray&&![geoBlackArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [geoBlackArray count];i++)
        {
        GeoArea* item = [[GeoArea alloc]initWithDic:[geoBlackArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.geoBlack = propertyArray;
    }
    self.ipBlack = [dictionary objectForKey:@"ipBlack"];
    self.ipWhite = [dictionary objectForKey:@"ipWhite"];
    return self;
} 

@end
  
@implementation CdnQueryNetProtectionRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryNetProtectionRulesResult* result = [[CdnQueryNetProtectionRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryNetProtectionRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryDdosGraphResult
-(id) initWithDataList:(NSArray<ProtectData*>*) dataList
        unit:(NSArray<NSString*>*)unit { 
    self.dataList = dataList;               
    self.unit = unit;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self dataList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self dataList] count]; i++) {
            ProtectData* item = [[self dataList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataList"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* dataListArray = [dictionary objectForKey:@"dataList"];
    if(dataListArray&&![dataListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataListArray count];i++)
        {
        ProtectData* item = [[ProtectData alloc]initWithDic:[dataListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.dataList = propertyArray;
    }
    self.unit = [dictionary objectForKey:@"unit"];
    return self;
} 

@end
  
@implementation CdnQueryDdosGraphResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDdosGraphResult* result = [[CdnQueryDdosGraphResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDdosGraphResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryNetProtectionRulesSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryNetProtectionRulesSwitchResult* result = [[CdnQueryNetProtectionRulesSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryNetProtectionRulesSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryGeoAreasResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryGeoAreasResult* result = [[CdnQueryGeoAreasResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryGeoAreasResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryOnlineBillingTypeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryOnlineBillingTypeResult* result = [[CdnQueryOnlineBillingTypeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryOnlineBillingTypeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryOnlineBillingTypeRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetOnlineBillingTypeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetOnlineBillingTypeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetOnlineBillingTypeResult* result = [[CdnSetOnlineBillingTypeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetOnlineBillingTypeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryStatisticsDataGroupByAreaResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsWithAreaGroupDetail*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsWithAreaGroupDetail* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsWithAreaGroupDetail* item = [[StatisticsWithAreaGroupDetail alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryStatisticsDataGroupByAreaResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryStatisticsDataGroupByAreaResult* result = [[CdnQueryStatisticsDataGroupByAreaResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryStatisticsDataGroupByAreaResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryLiveStatisticsAreaDataGroupByResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsWithAreaGroupDetail*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsWithAreaGroupDetail* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsWithAreaGroupDetail* item = [[StatisticsWithAreaGroupDetail alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryLiveStatisticsAreaDataGroupByResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLiveStatisticsAreaDataGroupByResult* result = [[CdnQueryLiveStatisticsAreaDataGroupByResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLiveStatisticsAreaDataGroupByResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryDomainsLogResult
-(id) initWithLogs:(NSArray<DomainsLog*>*) logs { 
    self.logs = logs;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self logs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self logs] count]; i++) {
            DomainsLog* item = [[self logs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"logs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* logsArray = [dictionary objectForKey:@"logs"];
    if(logsArray&&![logsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [logsArray count];i++)
        {
        DomainsLog* item = [[DomainsLog alloc]initWithDic:[logsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.logs = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryStatisticsTopIpResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        ipData:(NSArray<StatisticsTopIpData*>*)ipData { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.ipData = ipData;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self ipData])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipData] count]; i++) {
            StatisticsTopIpData* item = [[self ipData] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipData"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* ipDataArray = [dictionary objectForKey:@"ipData"];
    if(ipDataArray&&![ipDataArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipDataArray count];i++)
        {
        StatisticsTopIpData* item = [[StatisticsTopIpData alloc]initWithDic:[ipDataArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipData = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryStatisticsDataResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsDataItem*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsDataItem* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsDataItem* item = [[StatisticsDataItem alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryStatisticsTopUrlResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        urlData:(NSArray<StatisticsTopUrlData*>*)urlData { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.urlData = urlData;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self urlData])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self urlData] count]; i++) {
            StatisticsTopUrlData* item = [[self urlData] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urlData"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* urlDataArray = [dictionary objectForKey:@"urlData"];
    if(urlDataArray&&![urlDataArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlDataArray count];i++)
        {
        StatisticsTopUrlData* item = [[StatisticsTopUrlData alloc]initWithDic:[urlDataArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.urlData = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryStatisticsTopUrlResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryStatisticsTopUrlResult* result = [[CdnQueryStatisticsTopUrlResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryStatisticsTopUrlResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryStatisticsDataResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryStatisticsDataResult* result = [[CdnQueryStatisticsDataResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryStatisticsDataResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryLiveTrafficGroupSumResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsGroupSumDataItem*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsGroupSumDataItem* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsGroupSumDataItem* item = [[StatisticsGroupSumDataItem alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryLiveTrafficGroupSumResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLiveTrafficGroupSumResult* result = [[CdnQueryLiveTrafficGroupSumResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLiveTrafficGroupSumResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryMixTrafficGroupSumResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsGroupSumDataItem*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsGroupSumDataItem* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsGroupSumDataItem* item = [[StatisticsGroupSumDataItem alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryStatisticsTopIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryStatisticsTopIpResult* result = [[CdnQueryStatisticsTopIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryStatisticsTopIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryStatisticsDataGroupSumResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsGroupSumDataItem*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsGroupSumDataItem* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsGroupSumDataItem* item = [[StatisticsGroupSumDataItem alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryLiveStatisticsDataResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsDataItem*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsDataItem* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsDataItem* item = [[StatisticsDataItem alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryMixStatisticsWithAreaDataResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsWithAreaGroupDetail*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsWithAreaGroupDetail* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsWithAreaGroupDetail* item = [[StatisticsWithAreaGroupDetail alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryMixStatisticsWithAreaDataResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryMixStatisticsWithAreaDataResult* result = [[CdnQueryMixStatisticsWithAreaDataResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryMixStatisticsWithAreaDataResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryMixStatisticsDataResult
-(id) initWithStartTime:(NSString*) startTime
        endTime:(NSString*)endTime
        domain:(NSString*)domain
        statistics:(NSArray<StatisticsDataItem*>*)statistics { 
    self.startTime = startTime;               
    self.endTime = endTime;               
    self.domain = domain;               
    self.statistics = statistics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self statistics])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self statistics] count]; i++) {
            StatisticsDataItem* item = [[self statistics] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"statistics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* statisticsArray = [dictionary objectForKey:@"statistics"];
    if(statisticsArray&&![statisticsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [statisticsArray count];i++)
        {
        StatisticsDataItem* item = [[StatisticsDataItem alloc]initWithDic:[statisticsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.statistics = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryDomainsLogResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainsLogResult* result = [[CdnQueryDomainsLogResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainsLogResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryDomainLogResult
-(id) initWithTotal:(NSNumber*) total
        pageSize:(NSNumber*)pageSize
        pageNumber:(NSNumber*)pageNumber
        urls:(NSArray<DomainLog*>*)urls { 
    self.total = total;               
    self.pageSize = pageSize;               
    self.pageNumber = pageNumber;               
    self.urls = urls;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self urls])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self urls] count]; i++) {
            DomainLog* item = [[self urls] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urls"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.total = [dictionary objectForKey:@"total"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    NSArray* urlsArray = [dictionary objectForKey:@"urls"];
    if(urlsArray&&![urlsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlsArray count];i++)
        {
        DomainLog* item = [[DomainLog alloc]initWithDic:[urlsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.urls = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryStatisticsDataGroupSumResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryStatisticsDataGroupSumResult* result = [[CdnQueryStatisticsDataGroupSumResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryStatisticsDataGroupSumResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryDomainLogResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainLogResult* result = [[CdnQueryDomainLogResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainLogResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryMixTrafficGroupSumResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryMixTrafficGroupSumResult* result = [[CdnQueryMixTrafficGroupSumResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryMixTrafficGroupSumResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryLiveStatisticsDataResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLiveStatisticsDataResult* result = [[CdnQueryLiveStatisticsDataResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLiveStatisticsDataResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryMixStatisticsDataResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryMixStatisticsDataResult* result = [[CdnQueryMixStatisticsDataResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryMixStatisticsDataResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryWafRegionsResult
-(id) initWithChina:(NSArray<WafRegionsModel*>*) china
        foreign:(NSArray<WafRegionsModel*>*)foreign { 
    self.china = china;               
    self.foreign = foreign;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self china])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self china] count]; i++) {
            WafRegionsModel* item = [[self china] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"china"];
    }
    if([self foreign])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self foreign] count]; i++) {
            WafRegionsModel* item = [[self foreign] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"foreign"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* chinaArray = [dictionary objectForKey:@"china"];
    if(chinaArray&&![chinaArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [chinaArray count];i++)
        {
        WafRegionsModel* item = [[WafRegionsModel alloc]initWithDic:[chinaArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.china = propertyArray;
    }
    NSArray* foreignArray = [dictionary objectForKey:@"foreign"];
    if(foreignArray&&![foreignArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [foreignArray count];i++)
        {
        WafRegionsModel* item = [[WafRegionsModel alloc]initWithDic:[foreignArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.foreign = propertyArray;
    }
    return self;
} 

@end
@implementation CdnSetCCProtectSwitchResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetCCProtectSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetCCProtectSwitchResult* result = [[CdnSetCCProtectSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetCCProtectSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetWafSwitchResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetWafSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetWafSwitchResult* result = [[CdnSetWafSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetWafSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnSetWafWhiteRuleSwitchResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetWafWhiteRuleSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetWafWhiteRuleSwitchResult* result = [[CdnSetWafWhiteRuleSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetWafWhiteRuleSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDisableWafBlackRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnDeleteWafWhiteRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnDeleteWafWhiteRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteWafWhiteRulesResult* result = [[CdnDeleteWafWhiteRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteWafWhiteRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryWafSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryWafSwitchResult* result = [[CdnQueryWafSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryWafSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateWafBlackRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnCreateWafBlackRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateWafBlackRuleResult* result = [[CdnCreateWafBlackRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateWafBlackRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateCCProtectRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnEnableWafBlackRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnEnableWafBlackRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnEnableWafBlackRulesResult* result = [[CdnEnableWafBlackRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnEnableWafBlackRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryWebProtectSettingsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryWebProtectSettingsResult* result = [[CdnQueryWebProtectSettingsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryWebProtectSettingsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryIpBlackSettingStatusResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryIpBlackSettingStatusResult* result = [[CdnQueryIpBlackSettingStatusResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryIpBlackSettingStatusResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDeleteWafBlackRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetWafBlackRuleSwitchResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnSetWafBlackRuleSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetWafBlackRuleSwitchResult* result = [[CdnSetWafBlackRuleSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetWafBlackRuleSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnEnableWafWhiteRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnUpdateWafWhiteRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryCCProtectSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryCCProtectSwitchResult* result = [[CdnQueryCCProtectSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryCCProtectSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnEnableCCProtectRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnEnableCCProtectRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnEnableCCProtectRuleResult* result = [[CdnEnableCCProtectRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnEnableCCProtectRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateWafWhiteRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnCreateWafWhiteRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateWafWhiteRuleResult* result = [[CdnCreateWafWhiteRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateWafWhiteRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDeleteCCProtectRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnDeleteCCProtectRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteCCProtectRuleResult* result = [[CdnDeleteCCProtectRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteCCProtectRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnUpdateWafBlackRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnDeleteWafBlackRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDeleteWafBlackRulesResult* result = [[CdnDeleteWafBlackRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDeleteWafBlackRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryCCProtectRulesResult
-(id) initWithRules:(NSArray<WafCCProtectRuleModel*>*) rules { 
    self.rules = rules;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self rules])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self rules] count]; i++) {
            WafCCProtectRuleModel* item = [[self rules] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"rules"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* rulesArray = [dictionary objectForKey:@"rules"];
    if(rulesArray&&![rulesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [rulesArray count];i++)
        {
        WafCCProtectRuleModel* item = [[WafCCProtectRuleModel alloc]initWithDic:[rulesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.rules = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnEnableWafWhiteRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnEnableWafWhiteRulesResult* result = [[CdnEnableWafWhiteRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnEnableWafWhiteRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDisableWafWhiteRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnDisableWafWhiteRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDisableWafWhiteRulesResult* result = [[CdnDisableWafWhiteRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDisableWafWhiteRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQuerywafBlackRulesResult
-(id) initWithRules:(NSArray<WafBlackRuleModel*>*) rules { 
    self.rules = rules;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self rules])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self rules] count]; i++) {
            WafBlackRuleModel* item = [[self rules] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"rules"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* rulesArray = [dictionary objectForKey:@"rules"];
    if(rulesArray&&![rulesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [rulesArray count];i++)
        {
        WafBlackRuleModel* item = [[WafBlackRuleModel alloc]initWithDic:[rulesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.rules = propertyArray;
    }
    return self;
} 

@end
@implementation CdnUpdateWebProtectSettingsResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnUpdateWafWhiteRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUpdateWafWhiteRuleResult* result = [[CdnUpdateWafWhiteRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUpdateWafWhiteRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnDisableCCProtectRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnSetWebProtectSwitchResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation CdnQuerywafWhiteRulesResult
-(id) initWithRules:(NSArray<WafWhiteRuleModel*>*) rules { 
    self.rules = rules;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self rules])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self rules] count]; i++) {
            WafWhiteRuleModel* item = [[self rules] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"rules"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* rulesArray = [dictionary objectForKey:@"rules"];
    if(rulesArray&&![rulesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [rulesArray count];i++)
        {
        WafWhiteRuleModel* item = [[WafWhiteRuleModel alloc]initWithDic:[rulesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.rules = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQuerywafWhiteRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQuerywafWhiteRulesResult* result = [[CdnQuerywafWhiteRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQuerywafWhiteRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnUpdateWafBlackRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUpdateWafBlackRuleResult* result = [[CdnUpdateWafBlackRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUpdateWafBlackRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryWafWhiteRuleSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryWafWhiteRuleSwitchResult* result = [[CdnQueryWafWhiteRuleSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryWafWhiteRuleSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnUpdateWebProtectSettingsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUpdateWebProtectSettingsResult* result = [[CdnUpdateWebProtectSettingsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUpdateWebProtectSettingsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQuerywafBlackRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQuerywafBlackRulesResult* result = [[CdnQuerywafBlackRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQuerywafBlackRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryWafRegionsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryWafRegionsResult* result = [[CdnQueryWafRegionsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryWafRegionsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnDisableCCProtectRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDisableCCProtectRuleResult* result = [[CdnDisableCCProtectRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDisableCCProtectRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryWafBlackRuleSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryWafBlackRuleSwitchResult* result = [[CdnQueryWafBlackRuleSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryWafBlackRuleSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnUpdateCCProtectRuleResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnUpdateCCProtectRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnUpdateCCProtectRuleResult* result = [[CdnUpdateCCProtectRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnUpdateCCProtectRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnDisableWafBlackRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnDisableWafBlackRulesResult* result = [[CdnDisableWafBlackRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnDisableWafBlackRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryCCProtectRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryCCProtectRulesResult* result = [[CdnQueryCCProtectRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryCCProtectRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnSetWebProtectSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnSetWebProtectSwitchResult* result = [[CdnSetWebProtectSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnSetWebProtectSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnCreateCCProtectRuleResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateCCProtectRuleResult* result = [[CdnCreateCCProtectRuleResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateCCProtectRuleResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryWebProtectSwitchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryWebProtectSwitchResult* result = [[CdnQueryWebProtectSwitchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryWebProtectSwitchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnGetAllUpperNodeIpListRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnGetAllUpperNodeIpListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnGetAllUpperNodeIpListResult* result = [[CdnGetAllUpperNodeIpListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnGetAllUpperNodeIpListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryAreaIspListResult
-(id) initWithMainLand:(NSArray<AreaIspItem*>*) mainLand
        overseas:(NSArray<AreaIspItem*>*)overseas
        isp:(NSArray<AreaIspItem*>*)isp { 
    self.mainLand = mainLand;               
    self.overseas = overseas;               
    self.isp = isp;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self mainLand])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self mainLand] count]; i++) {
            AreaIspItem* item = [[self mainLand] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"mainLand"];
    }
    if([self overseas])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self overseas] count]; i++) {
            AreaIspItem* item = [[self overseas] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"overseas"];
    }
    if([self isp])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self isp] count]; i++) {
            AreaIspItem* item = [[self isp] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"isp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* mainLandArray = [dictionary objectForKey:@"mainLand"];
    if(mainLandArray&&![mainLandArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [mainLandArray count];i++)
        {
        AreaIspItem* item = [[AreaIspItem alloc]initWithDic:[mainLandArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.mainLand = propertyArray;
    }
    NSArray* overseasArray = [dictionary objectForKey:@"overseas"];
    if(overseasArray&&![overseasArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [overseasArray count];i++)
        {
        AreaIspItem* item = [[AreaIspItem alloc]initWithDic:[overseasArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.overseas = propertyArray;
    }
    NSArray* ispArray = [dictionary objectForKey:@"isp"];
    if(ispArray&&![ispArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ispArray count];i++)
        {
        AreaIspItem* item = [[AreaIspItem alloc]initWithDic:[ispArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.isp = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryAreaIspListRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnQueryAreaIspListResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryAreaIspListResult* result = [[CdnQueryAreaIspListResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryAreaIspListResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnWafQueryPvForAreaAndIpResult
-(id) initWithAreaDatas:(NSArray<AreaData*>*) areaDatas { 
    self.areaDatas = areaDatas;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self areaDatas])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self areaDatas] count]; i++) {
            AreaData* item = [[self areaDatas] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"areaDatas"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* areaDatasArray = [dictionary objectForKey:@"areaDatas"];
    if(areaDatasArray&&![areaDatasArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [areaDatasArray count];i++)
        {
        AreaData* item = [[AreaData alloc]initWithDic:[areaDatasArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.areaDatas = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnWafQueryPvForAreaAndIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnWafQueryPvForAreaAndIpResult* result = [[CdnWafQueryPvForAreaAndIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnWafQueryPvForAreaAndIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnWafQueryAttackDetailsResult
-(id) initWithTotal:(NSString*) total
        attackDetails:(NSArray<AttackDetail*>*)attackDetails { 
    self.total = total;               
    self.attackDetails = attackDetails;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    if([self attackDetails])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self attackDetails] count]; i++) {
            AttackDetail* item = [[self attackDetails] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"attackDetails"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.total = [dictionary objectForKey:@"total"];
    NSArray* attackDetailsArray = [dictionary objectForKey:@"attackDetails"];
    if(attackDetailsArray&&![attackDetailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [attackDetailsArray count];i++)
        {
        AttackDetail* item = [[AttackDetail alloc]initWithDic:[attackDetailsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.attackDetails = propertyArray;
    }
    return self;
} 

@end
@implementation CdnWafQueryPvResult
-(id) initWithPvs:(NSArray<PvItem*>*) pvs { 
    self.pvs = pvs;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pvs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self pvs] count]; i++) {
            PvItem* item = [[self pvs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"pvs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* pvsArray = [dictionary objectForKey:@"pvs"];
    if(pvsArray&&![pvsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [pvsArray count];i++)
        {
        PvItem* item = [[PvItem alloc]initWithDic:[pvsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.pvs = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnWafQueryAttackDetailsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnWafQueryAttackDetailsResult* result = [[CdnWafQueryAttackDetailsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnWafQueryAttackDetailsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnWafQueryPvResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnWafQueryPvResult* result = [[CdnWafQueryPvResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnWafQueryPvResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryDomainConfigStatusResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryDomainConfigStatusResult* result = [[CdnQueryDomainConfigStatusResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryDomainConfigStatusResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCheckWhetherIpBelongToJCloudResult
-(id) initWithIpList:(NSArray<CheckWhetherIpBelongToJCloudItem*>*) ipList { 
    self.ipList = ipList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ipList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self ipList] count]; i++) {
            CheckWhetherIpBelongToJCloudItem* item = [[self ipList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* ipListArray = [dictionary objectForKey:@"ipList"];
    if(ipListArray&&![ipListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipListArray count];i++)
        {
        CheckWhetherIpBelongToJCloudItem* item = [[CheckWhetherIpBelongToJCloudItem alloc]initWithDic:[ipListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.ipList = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnCheckWhetherIpBelongToJCloudResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCheckWhetherIpBelongToJCloudResult* result = [[CdnCheckWhetherIpBelongToJCloudResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCheckWhetherIpBelongToJCloudResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnCreateLiveDomainPrefecthTaskResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation CdnCreateLiveDomainPrefecthTaskResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnCreateLiveDomainPrefecthTaskResult* result = [[CdnCreateLiveDomainPrefecthTaskResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnCreateLiveDomainPrefecthTaskResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryLivePrefetchTaskResult
-(id) initWithResult:(NSArray<QueryLivePrefetchItem*>*) result { 
    self.result = result;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self result])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self result] count]; i++) {
            QueryLivePrefetchItem* item = [[self result] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"result"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* resultArray = [dictionary objectForKey:@"result"];
    if(resultArray&&![resultArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [resultArray count];i++)
        {
        QueryLivePrefetchItem* item = [[QueryLivePrefetchItem alloc]initWithDic:[resultArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.result = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryLivePrefetchTaskResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryLivePrefetchTaskResult* result = [[CdnQueryLivePrefetchTaskResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryLivePrefetchTaskResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation CdnQueryBandResult
-(id) initWithResultList:(NSArray<BandTrafficDataItem*>*) resultList { 
    self.resultList = resultList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resultList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self resultList] count]; i++) {
            BandTrafficDataItem* item = [[self resultList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"resultList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* resultListArray = [dictionary objectForKey:@"resultList"];
    if(resultListArray&&![resultListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [resultListArray count];i++)
        {
        BandTrafficDataItem* item = [[BandTrafficDataItem alloc]initWithDic:[resultListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.resultList = propertyArray;
    }
    return self;
} 

@end
@implementation CdnQueryBandWithAreaResult
-(id) initWithResultList:(NSArray<BandTrafficWithAreaDataItem*>*) resultList { 
    self.resultList = resultList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resultList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self resultList] count]; i++) {
            BandTrafficWithAreaDataItem* item = [[self resultList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"resultList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* resultListArray = [dictionary objectForKey:@"resultList"];
    if(resultListArray&&![resultListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [resultListArray count];i++)
        {
        BandTrafficWithAreaDataItem* item = [[BandTrafficWithAreaDataItem alloc]initWithDic:[resultListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.resultList = propertyArray;
    }
    return self;
} 

@end
  
@implementation CdnQueryBandWithAreaResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryBandWithAreaResult* result = [[CdnQueryBandWithAreaResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryBandWithAreaResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation CdnQueryBandResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
CdnQueryBandResult* result = [[CdnQueryBandResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(CdnQueryBandResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
 
